% @(#)$Id: TypedObjEval.lsl,v 1.3 1995/11/10 06:35:44 leavens Exp $ TypedObjEval(Loc, T): trait assumes State, WithUnassigned(T), WidenNarrow(Loc[T], Object), WidenNarrow(WithUnassigned[T], Value) introduces eval: Loc[T], State -> T asserts \forall loc: Loc[T], st: State eval(loc, st) == extractTVal(narrow(eval(widen(loc), st))); implies converts eval: Loc[T], State -> T exempting \forall loc: Loc[T], st: State, typs: Set[TYPE] eval(loc, bottom), eval(loc, emptyState), eval(loc, bind(st, widen(loc), widen(unassigned), typs))
[Index]
HTML generated using lcpp2html.