-- BBUrpEval.mesa
-- Russ Atkinson, September 27, 1982 11:36 am

DIRECTORY
BBEval USING [EvalHead, RopeOrTV, Tree],
Rope USING [ROPE],
RTBasic USING [TV, Type];

BBUrpEval: CEDAR DEFINITIONS
= BEGIN OPEN BBEval, Rope, RTBasic;

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.