Fonctions

Si le premier élément de la liste est le nom d'une fonction, l'expression entière est considérée (par eval) comme un appel de fonction. La règle d'évaluation d'un tel appel est :

  1. évaluer d'abord les arguments de gauche à droite. Ceci implique que eval doit s'appeler récursivement.
  2. appliquer la fonction aux arguments évalués.

Cette règle est la même dans la plupart des langages existants. Nous appelons cette règle évaluation applicative (en Anglais : innermost evaluation), ou parfois appel par valeur. Exemples :

* (+ *read-base* 1)

11
* (* (+ *read-base* 3) 4)

52
* (sin (cos 234))

0.04861433
* (+ (expt (sin 234) 2) (expt (cos 234) 2))

0.99999994
*



Irene DURAND
2011-10-14