-- poplar.Model, 16-Mar-82 13:47:54 PST
OPEN @BasicPilot.Model!2558997260;
Real: TYPE == @Real.Bcd;
Rope: TYPE == @Rope.Bcd;
Convert: TYPE == @Convert.Bcd;
ConvertUnsafe: TYPE == @ConvertUnsafe.Bcd;
Juniper: TYPE == @Juniper.Bcd;
FileByteStream: TYPE == @FileByteStream.Bcd;
RTTraceAndSweep: TYPE == @RTTraceAndSweep.Bcd;
RTBasic: TYPE == @RTBasic.Bcd;
RTTypesBasic: TYPE == @RTTypesBasic.Bcd;
IOStream: TYPE == @IOStream.Bcd;
SafeStorage: TYPE == @SafeStorage.Bcd;
Environment: TYPE == @Environment.bcd;
MODELPoplar: PROC [ConvertImpl: Convert,
	ConvertUnsafeImpl: ConvertUnsafe,
	DirectoryImpl: Directory,
	FileByteStreamImpl: FileByteStream,
	FileImpl: File,
	InlineImpl: Inline,
	IOStreamImpl: IOStream,
	ProcessImpl: Process,
	RopeImpl: Rope,
	RTTraceAndSweepImpl: RTTraceAndSweep,
	RTTypesBasicImpl: RTTypesBasic,
	SafeStorageImpl: SafeStorage,
	SpaceImpl: Space,
	TimeImpl: Time,
	TransactionImpl: Transaction,
	TTYImpl: TTY]
RETURNS [] [
PString: TYPE == @PString.mesa!2551301975[Rope];
PL: TYPE == @PL.mesa!2562451965[IOStream, Rope, PString];
Disp: TYPE == @Disp.mesa!2562444973[IOStream, Rope, PL];
PVM: TYPE == @PVM.mesa!2551301851[Rope, Space];
PropertyTypes: TYPE == @PropertyTypes.Bcd;
LET [PStringImpl: PString, PVMImpl: PVM] == @PStringImpl.mesa!2562469331[
      PVM, File, Space, Directory, RTTypesBasic, Inline, Process, 
      PropertyTypes, ConvertUnsafe, DCSFileTypes, PString, Rope, 
      IOStream, "b-jn", RopeImpl, ConvertUnsafeImpl, InlineImpl, 
      DirectoryImpl, RTTypesBasicImpl, FileImpl, SpaceImpl, 
      ProcessImpl, IOStreamImpl];
DispImpl: Disp == @DispImpl.mesa!2562473140[IOStream, Ascii, 
            Disp, PL, Rope, PString, "b-jn", PLImpl, PStringImpl, 
            RopeImpl, IOStreamImpl];
WindowProcInt: TYPE == @WindowProcInt.Mesa!2552604533[Rope, 
      IOStream];
WindowProcIntImpl: WindowProcInt == @WindowProcProg.Mesa!2562445089[
            WindowProcInt, Process, Rope, IOStream, ProcessImpl, 
            IOStreamImpl];
LET [PLImplControl: CONTROL, PLImpl6: PL] == @PLImpl.mesa!2561829446[
      ConvertUnsafe, PL, PString, PVM, Disp, Time, Rope, Route, 
      SafeStorage, IOStream, WindowProcInt, "b-jn", ConvertUnsafeImpl, 
      DispImpl, PStringImpl, PLImpl, TimeImpl, RouteImpl, SafeStorageImpl, 
      IOStreamImpl, RopeImpl, WindowProcIntImpl];
Route: TYPE == @Route.mesa!2521433682[PL];
RouteImpl1: Route == @route1.mesa!2558999551[PString, PL, Rope, 
            IOStream, Disp, Ascii, Route, PVM, "b-jn", DispImpl, 
            PLImpl, PStringImpl, PVMImpl, RopeImpl];
LET [RouteImpl2: Route, PLImpl4: PL] == @route2.mesa!2558999933[
      File, System, Time, PL, PString, Directory, Ascii, Inline, 
      Route, PVM, ConvertUnsafe, Rope, IOStream, "b-jn", ConvertUnsafeImpl, 
      PLImpl, PStringImpl, InlineImpl, IOStreamImpl, DirectoryImpl, 
      TimeImpl];
PLImpl1: PL == @sup.mesa!2551652361[PL, Rope, SafeStorage, PString, 
            Inline, "b-jn", PLImpl, PStringImpl, SafeStorageImpl, 
            RopeImpl];
PLImpl2: PL == @eval.mesa!2562471658[Process, PL, PString, Rope, 
            IOStream, Disp, Route, "b-jn", PLImpl, PStringImpl, 
            DispImpl, RouteImpl, ProcessImpl, RopeImpl, IOStreamImpl];
PLImpl3: PL == @PStore.mesa!2562452875[PL, PVM, Rope, "b-jn", 
            PLImpl, RopeImpl];
PLImpl5: PL == @parse.mesa!2562616167[PL, Rope, PString, Disp, 
            IOStream, "b-jn", DispImpl, PStringImpl, PLImpl, 
            RopeImpl, IOStreamImpl];
RouteImpl: Route == (RouteImpl1) PLUS (RouteImpl2);
PLImpl: PL == (PLImpl1) PLUS (PLImpl2) PLUS (PLImpl3) PLUS (PLImpl4) PLUS 
      (PLImpl5) PLUS (PLImpl6)
]