Ralf Hemmecke wrote:
> Where is $e defined?
>
$e is Lisp dynamic variable. Such variables works like a stack,
given declaration:
$e: local:= T.env
old value (if any) of $e is stored on the stack and $e takes new
value. This new value is globally visible. On return from
function containing such declaration old value is restored.
To make things more interesting one can put $e in parameter
list, like:
comp3(x,m,$e)
This roughly equivalent to:
comp3(x, m, e_value)
$e: local:= e_value
Now, you will find a lot of places which define $e in such
a way.
BTW: You may give global (outside of any function) definition
for dynamic variables, but this is not necessary and sometimes
even not desirable. Namely, if you try to access dynamic
variable which have no current definition (binding) you
will get Lisp error, so during testing you can catch places
which try to use value but should not. If you have global
definition you will always some value, but this value may be
wrong.
--
Waldek Hebisch
[EMAIL PROTECTED]
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/fricas-devel?hl=en
-~----------~----~----~----~------~----~------~--~---