previous up next
Go backward to 1. Version
Go up to Top
RISC-Linz logo

2. Version

Family of procedure domains:

Nat-proc = Nat -> Store -> Poststore_|_
Array-proc = Array -> Store -> Poststore_|_
Record-proc = Proc -> Store -> Poststore_|_

Type-tag =
    Nat-tag + Array-tag + Record-tag + Err-tag
    where Nat-tag = ...= Unit
T': Type-structure -> Environment -> Type-tag

D[[proc I1(I2:T) = C]] = lambda e. lambda s.
    cases (T'[[T]]e) of
        isNat-tag() ->
            ((updateenv [[I1]] inNat-proc(lambda n.
                C[[C]](updateenv [[I2]]
                    inNat(n) e)) e),
            (return s))
        isArray-tag() -> ...
        isRecord-tag() -> ...
        isErr-tag() -> (e, (signalerr s))
    end


Author: Wolfgang Schreiner
Last Modification: December 18, 1997

previous up next