previous up next
Go backward to Declaration Abstracts
Go up to Top
Go forward to Type Equivalence
RISC-Linz logo

Type Abstracts

D ::= ...| type I=T
T ::= nat | ...| I

D[[type I=T]] = lambda e. lambda s.
    ((updateenv [[I]] inType(T[[T]]e) e),
    (return s))

T: Type-structure -> Environment -> Store ->
    (Denotable-value × Poststore)
T[[I]] = lambda e. lambda s.
    cases (accessenv [[I]] e) of
        isNatlocn(l) -> (inErrvalue(),
            (signalerr s))
        ...
        [] isType(v) -> (v s)
    end

When are two variables equivalent in type?


Author: Wolfgang Schreiner
Last Modification: December 18, 1997

previous up next