On Mon, 28 May 2007, Waldek Hebisch wrote: [...]
| The problem is more subtle: the code above (printed by sbcl) | references |#1|. Apparently sbcl complier does not see that | |#1| is defined, but it is. | | In more detail, Axiom uses Lisp eval to replace |#1| by aproproate | value. Relevant part of backtrace is: | | 17: (SB-INT:SIMPLE-EVAL-IN-LEXENV (EQCAR |#1| 0) #<NULL-LEXENV>) | 18: (|evalSharpOne| | (EQCAR |#1| 0) | (0 (1 #(#(|cos| 1 (#)) ((# 0 . 1)) 2 4864) (1 0 . -1)) 0 . 1)) | 19: (|coerceUnion2Branch| | ((|Union| (|Expression| (|Integer|)) (|List| (|Expression| (|Integer|)))) | WRAPPED 0 (1 #(#(|cos| 1 (#)) ((# 0 . 1)) 2 4864) (1 0 . -1)) 0 . 1)) | | | |evalSharpOne| is defined as: | | (defun |evalSharpOne| (x \#1) (declare (special \#1)) (EVAL x)) | | so at the time of eval |#1| has special binding. My understanding is | that such bindings are visible to eval. The above shows that |#1| is *declared*. But whereis it defined? -- Gaby _______________________________________________ Axiom-developer mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/axiom-developer
