-- BBUrpEval.mesa
-- Russ Atkinson, September 27, 1982 11:36 am
-- Paul Rovner, July 18, 1983 11:21 am

DIRECTORY
AMTypes USING [TV, Type],
InterpreterOps USING [EvalHead, RopeOrTV, Tree],
Rope USING [ROPE];

BBUrpEval: CEDAR DEFINITIONS
= BEGIN OPEN AMTypes, InterpreterOps, Rope;

UrpWrongType: PROC
[head: EvalHead, parent: Tree, value: TV, target: Type, msg: ROPE]
RETURNS [correct: TV];

UrpId: PROC
[head: EvalHead, parent: Tree, id: ROPE, context, target: Type, msg: ROPE]
RETURNS [correct: RopeOrTV ← [fail[NIL]]];

UrpSelector: PROC
[head: EvalHead, parent: Tree, id: ROPE, context: TV, target: Type, msg: ROPE]
RETURNS [correct: RopeOrTV ← [fail[NIL]]];

UrpDefault: PROC
[head: EvalHead, parent: Tree, type: Type, index: CARDINAL, msg: ROPE]
RETURNS [correct: TV];

UrpFatal: PROC [head: EvalHead, parent: Tree, msg: ROPE];


END.