Kevin_Crowston@XV.MIT.EDU (02/19/88)
In Lyric, with the CL compiler, (DATE) seems to be treated as a constant. For example, (DEFINEQ (a () (DATE))) Calling a when it's interpreted correctly returns the current date, which is different each time. Now: (CL:COMPILE 'a) Now calling a gives the same answer each time, the time at which a was compiled. Kevin Crowston MIT Sloan School of Management
lane@SUMEX-AIM.STANFORD.EDU (Christopher Lane) (02/19/88)
(SETPROPLIST 'DATE (GETPROPLIST 'RAND)) seems to be a temporary workaround (you have to recompile of course). I did a MAPATOMS to see if I could spot another function that had both the same compiler property as DATE and was the same kind of function (one for which a constant argument gives varying results) but I didn't notice any (except possibly for TIMEREXPIRED? when applied to a compile-time constant, which is not something one wants to do, I imagine). - Christopher
Lanning.pa@XEROX.COM (Stanley's Tool Works) (02/20/88)
Better than (PUTPROP 'DATE 'COMPILER::SIDE-EFFECTS-DATA NIL) is (PUTPROP 'DATE 'COMPILER::SIDE-EFFECTS-DATA '(:NONE . :ANY)) The same needs to be done to GDATE. ----- smL