previous up next
Go backward to Correspondence
Go up to Top
Go forward to Variable Definitions
RISC-Linz logo

Parameters and Definitions

D[[proc I1(I2) = C]] = lambda e.lambda s.
    ((updateenv [[I1]]
        inProc(lambda d. C[[C]]
            (updateenv [[I2]] inD(d) e)) e),
    (return s))
C[[I(M)]] = lambda e.lambda s.
    cases (accessenv [[I]] e) of
        ...
        [] isProc(q) -> (q (...M[[M]] ...) s)
    end

D[[define I=M]] = lambda e. lambda s.
    ((updateenv [[I]] inD(...M[[M]] ...) e),
    (return s))

C[[begin proc I(I') = C; I(M) end]] =
C[[begin define I' = M; C end]]

(provided that [[M]] and [[C]] do not contain free occurences of [[I]])


Author: Wolfgang Schreiner
Last Modification: December 18, 1997

previous up next