Go backward to Lazy and Eager Evaluation Combined
Go up to Top
Go forward to Typing Rules
Lazy and Eager Bindings
- Extended syntax:
- E ::= E:=E | ... | newint
| lazy I=E
| eager I=E
| E,E | with E do E | I
| lambdaI:theta. E | E E
- Examples:
- var X: newint
= eager X = newint
- class K =
record var Y: newint,
proc P = skip end
= lazy K =
(eager Y = newint, lazy P
= skip)
- module M =
{ var Y: newint,
proc P = skip }
= eager K =
(eager Y =
newint, lazy P = skip)
- Lambda abstractions:
- lambdaI:tauexp. E takes unevaluated phrases.
- lambdaI:tau. E takes only evaluated phrases.
Wolfgang.Schreiner@risc.uni-linz.ac.at
Id: records.tex,v 1.1 1996/05/20 12:33:10 schreine Exp schreine