Umgebungsmodell


  • Alles mit define kommt in die globale Umgebung
  • Jeder Aufruf einer Funktion erzeugt eine neue Umgebung; die Werte der Parameter werden hier eingetragen
  • Jedes letrec erzeugt eine neue Umgebung
  • Bei jeder neuen Umgebung wird der Funkionsrumpf dazugeschrieben und anschließend ausgewertet
  • Bei einem Funktionsaufruf wird mit einem geschlängelten Pfeil das Ergebnis angegeben
  • Listen und veränderbare Listen sind Kästen mit cons oder empty. Bei cons werden first und rest eingetragen, wobei rest immer ein Pfeil auf den nächsten Kasten ist.
  • Bei einer Definition durch eine andere Funktion, bei der nur teilweise Parameter angegeben werden und die Angabe der anderen noch offen steht, wird die Funktion ab da definiert, wo es noch keine Eingabe gibt -> zB kommt dann ein lambda-Objekt. Wichtig ist, dass dann die zugeordnete Umgebung eine andere ist.

Keine Kommentare:

Kommentar veröffentlichen