|
Formale Programmiersprachen mit lazy evaluation implementieren den Call by Name
Lambda-Kalkül. Sinnvolle Programmiersprachen mit lazy evaluation umgehen
die mit Call by Name verbundene wiederholte Auswertung des selben Parameters, die ja immer
das selbe Resultat liefert, dadurch, dass sie bei der ersten Auswertung das Ergebnis speichern
und bei einer erneuten Auswertung lediglich auf den gespeicherten Wert zurückgreifen.
In meinem Vortrag habe ich gezeigt, wie Call by Need mit Hilfe von Lambda-Termen dargestellt werden kann und welche Reduktionsregeln zum Einsatz kommen. Schließlich habe ich eine mögliche Implementierung von Call by Need vorgestellt, die das lazy Verhalten bereits auf Sourcecode-Ebene charakterisiert.
Literatur
|
|