-- SMLDriver.mesa
-- last edit by Schmidt, May 11, 1983 2:54 pm
-- last edit by Satterthwaite, July 19, 1983 11:47 am

DIRECTORY
IO: TYPE USING [STREAM],
SMTree: TYPE Tree USING [Link],
SMTreeOps: TYPE USING [TM];

SMLDriver: CEDAR DEFINITIONS~{
OPEN Tree~~SMTree, TreeOps~~SMTreeOps;

LS: TYPE~REF LoaderState;
LoaderState: TYPE;

Create: PROC[z: ZONE, tm: TreeOps.TM, out: IO.STREAM] RETURNS[LS];

Loaded: PROC[ls: LS] RETURNS[BOOL];

LoadAndBind: PROC[ls: LS, root: SMTree.Link, replace: BOOL]
RETURNS[errors: BOOL];
  
Started: PROC[ls: LS] RETURNS[BOOL];

StartAll: PROC[ls: LS, root: Tree.Link];

Unload: PROC[ls: LS, root: Tree.Link, unloadTheBcd: BOOL];

}.