Q about arguments scoping in function definition



 I would suggest to remove 2-b below.  This force the user to use apply. 
In Lisp we must use funcall, in mma the heads are not evaluated, you 
must use the option Heads -> True.  

 This way i think is like in Lisp.



> 
> On 10/8/07, Stavros Macrakis  wrote:
> 
> > In the Maxima language, the f in f(x) is evaluated as follows:
> >   1) If it is a lambda expression, apply it.
> >   2) If it is a symbol, then
> >       a) if it is a built-in function, apply it
> >       a) if it has a ":=" value, substitute that and go back to (1)
> >       b) if it has a ":" value or binding, substitute that 
> and go back to (1)
> >   3) Consider f to be a formal function, and just simplify 
> the expression f(x).
> 
> It seems like results would be more predictable if (2b) were moved
> ahead of the other two (2a) items. As it stands, if a symbol is bound
> to something other than itself, sometimes that binding is used in a
> function call and sometimes it isn't.
> 
> It seems unlikely that there is code which depends on the existing
> policy, as stated above, so it might be safe to modify it.
> Of course we would want to test such a change.
> 
> best
> 
> Robert
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
> 
_______________________________________________
Maxima mailing list
Maxima at math.utexas.edu
http://www.math.utexas.edu/mailman/listinfo/maxima

 
       
---------------------------------

S? un Mejor Amante del Cine
?Quieres saber c?mo? ?Deja que otras personas te ayuden!.