<> <> <> <> <<1. (convenience) allow &fm[FooImpl] to mean &fm["FooImpl"]>> <<2. allow a call on &tlf to appear to yield a local frame rather than a TV for a local frame.>> <> DIRECTORY AMTypes USING [TV, nullType, Type], InterpreterOps USING [EvalHead, Tree], Rope USING [ROPE], SymTab USING [Ref]; EvalQuote: CEDAR DEFINITIONS = BEGIN OPEN AMTypes, InterpreterOps, Rope; Register: PROC [ name: ROPE, --starting with & proc: EvalQuoteProc, symTab: SymTab.Ref, data: REF _ NIL ]; <> <> <> EvalQuoteProc: TYPE = PROC [head: EvalHead, tree: Tree, target: Type _ nullType, data: REF _ NIL] RETURNS [return: TV]; Lookup: PROC [symTab: SymTab.Ref, name: ROPE--starting with &--] RETURNS [proc: EvalQuoteProc, data: REF]; <> <> Enumerate: PROC [symTab: SymTab.Ref, visit: VisitProc]; <> <> VisitProc: TYPE = PROC [name: ROPE, proc: EvalQuoteProc, data: REF _ NIL] RETURNS [--stop:-- BOOL]; END.