Subject: Q about arguments scoping in function definition
From: apeditedirra unasaltao
Date: Mon, 8 Oct 2007 21:10:00 +0200 (CEST)
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!.