def identifier>=expression>;
wobei identifier ein beliebiger Name ist. Falls der Name schon vorhanden sein sollte, wird der bisherige Wert durch die neue Definition überschrieben.
Eine Funktionsdefinition sieht wie folgt aus:
def identifier>(p1>,...,pn>)=expression>;
wobei identifier ein noch nicht benutzter Name ist. Die Parameter p1 bis pn dürfen schon als Variablen benutzt sein. In diesem Fall wird aber eine lokale Kopie beim definierenden Ausdruck expression verwendet, so daß die Variable nicht verändert wird und auch nicht zur Definition herangezogen werden kann.
Der definierende Ausdruck expression hat in beiden Fällen folgenden rekursiven Aufbau:
<expression>::=<expression>+<expression> | <expression>-<expression> | <expression>*<expression> | <expression>/<expression> | <factor> <factor>::=<real number> | <identifier> | <function evaluation> | (<expression>) <function evaluation>::=<identifier(<exp1>,...,<expn>)
Zahlreiche Variablen und Funktionen sind schon vordefiniert. Bitte informieren Sie sich durch Abbildung A.14.