axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] clisp and sbcl


From: Gabriel Dos Reis
Subject: Re: [Axiom-developer] clisp and sbcl
Date: Mon, 28 May 2007 07:51:36 -0500 (CDT)

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]