Go backward to
Denotational Semantics
Go up to
Top
Go forward to
Orthogonality
Lambda Abstractions Alone
Language with naming and parameters.
Do not care about record structures, classes, modules.
Can use lambda abstractions as sole foundation.
Translation technique:
define
I(I
1
:
theta
1
, I
2
:
theta
2
, ..., I
n
:
theta
n
) = U
=>
define
I = (
lambda
I
1
:
theta
1
. ((
lambda
I
2
:
theta
2
. ...(
lambda
I
n
:
theta
n
. U) ...)))
begin define
I
1
=U
1
,
define
I
2
=U
2
, ...,
define
I
n
=U
n
in
W
end
=>
(( ...(((
lambda
I
1
:
theta
1
. (
lambda
I
2
:
theta
2
. ...(
lambda
I
n
:
theta
n
. W) ...)) U
1
) U
2
) ...) U
n
)
invoke
I(V
1
, V
2
, ..., V
n
)
=>
((...((I V
1
) V
2
) ...) V
n
)
Author:
Wolfgang Schreiner
Last Modification: May 14, 1998