-- JaMStartImpl.mesa -- Last changed by Doug Wyatt, 7-Oct-81 11:16:29 DIRECTORY JaMInternal USING [Frame], JaMOps USING [InstallReason]; JaMStartImpl: PROGRAM EXPORTS JaMOps = { OPEN JaMOps, JaMInternal; installMax: CARDINAL = 20; InstallEntry: TYPE = PROC[InstallReason,Frame]; InstallTable: TYPE = ARRAY[0..installMax) OF InstallEntry; installLen: CARDINAL ← 0; installs: InstallTable; Install: PUBLIC PROC[proc: PROC[InstallReason,Frame]] = { IF NOT installLen<installMax THEN ERROR; installs[installLen] ← proc; installLen ← installLen + 1; }; ForEachInstalled: PUBLIC PROC[why: InstallReason, frame: Frame] = { FOR i: CARDINAL IN[0..installLen) DO installs[i][why,frame] ENDLOOP; }; }.