A la difference de la plupart des langages modernes, Maxima utilise les portées dynamiques, non pas lexicales.

            -s

2010/6/1 Samuel Amo <samuel.amo@gmail.com>
Bonjour,

je voudrais savoir s'il est normal que lorsque je tape

patate(x,y):=ev(args(__)[2],eval)$
patate(f(x),x);
 
cela renvoie f(f(x))  ??

Je m'attendrais (et j'attendais !) que cela me renvoie x, ou son évaluation.
(Mais en l'occurence x ne contenait aucune valeur ni fonction.)

Par contre le probleme semble disparaitre si je tape

patate(u,y):=ev(args(__)[2],eval)$
patate(f(x),x);

(cela renvoie bien x)

N'est-ce pas révélateur d'un bug de localité de la variable ??
Il est plus probable qu'il y a quelque chose que je n'ai pas compris dans le système maxima
(je m'y suis mis il y a seulement quelques mois).
Quelqu'un pourrait-il m'éclairer ?

Cordialement,

Samuel Amo

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


_______________________________________________
Maxima-lang-fr mailing list
Maxima-lang-fr@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr