On Mon, Jun 15, 2009 at 10:46 AM, Mirko Vukovicmirko.vukovic@gmail.com wrote:
Liam,
My reading of hyperspec is that defconstant is evaluated as a top-level form. Thus the need to use the `eval-when'
Mirko,
Actually the hyperspec is pretty ambiguous but seems to imply that it could be evaluated at compile time or not. The CLISP manual on the other hand http://clisp.cons.org/impnotes/defconstant.html is quite definite that it does not evaluate at compile time: The initial value is not evaluated at compile time, just like with DEFVAR and DEFPARAMETER. Use EVAL-WHEN if you need the value at compile time.
I have fixed this and it now works for me in CLISP. Do a fresh pull in master and try it.
Keep in mind that many tests still fail miserably in CLISP, and in fact I can only get through a dozen or so before the test suite crashes out of CLISP. If you (or anyone) has patches or ideas about how to fix this, I'd be happy to hear about it.
Liam