-- JaMFnsDefs.mesa
-- Written by John Warnock
-- Last changed by Bill Paxton, January 12, 1981  10:50 AM
-- Last changed by Doug Wyatt, 29-Sep-81 18:34:23

DIRECTORY
  StreamDefs USING [StreamHandle];

JaMFnsDefs: DEFINITIONS = {

StreamHandle: TYPE = StreamDefs.StreamHandle;

Register: PROC[string: LONG STRING, proc: PROC];

DoRegistered: PROC[string: LONG STRING];

JaMExec: PROC[LONG STRING];

PushInteger: PROC[INTEGER];
PopInteger: PROC RETURNS[INTEGER];

PushLongInteger: PROC[LONG INTEGER];
PopLongInteger,GetLongInteger: PROC RETURNS[LONG INTEGER];

PushReal: PROC[REAL];
PopReal,GetReal: PROC RETURNS[REAL];

PushBoolean: PROC[BOOLEAN];
PopBoolean: PROC RETURNS[BOOLEAN];

PushString: PROC[LONG STRING];
PopString: PROC[LONG STRING];
StringOverflow: SIGNAL[s: LONG STRING] RETURNS[ns: LONG STRING];

PushStream: PROC[StreamHandle];
PopStream: PROC RETURNS[StreamHandle];

Pop: PROC;

GetJaMBreak: PROC RETURNS[BOOLEAN];
SetJaMBreak: PROC[flag: BOOLEAN ← TRUE];

}.