-- file RuntimeLoader.model
-- Copyright (c) 1985 by Xerox Corporation.  All rights reserved.
-- last edit by Satterthwaite, August 28, 1985 9:41:55 am PDT

LET REC [
  Atom: TYPE~@Atom.bcd[], 
  Basics: TYPE~@Basics.bcd[], 
  BasicTime: TYPE~@BasicTime.bcd[], 
  BcdDefs: TYPE~@BcdDefs.bcd[], 
  BcdOps: TYPE~@BcdOps.bcd[], 
  FS: TYPE~@FS.bcd[], 
  IO: TYPE~@IO.bcd[NIL], 
  LoadState: TYPE~@LoadState.bcd[], 
  PrincOps: TYPE~@PrincOps.bcd[], 
  PrincOpsUtils: TYPE~@PrincOpsUtils.bcd[NIL], 
  Rope: TYPE~@Rope.bcd[], 
  SafeStorage: TYPE~@SafeStorage.bcd[], 
  SafeStorageOps: TYPE~@SafeStorageOps.bcd[], 
  SystemVersion: TYPE~@SystemVersion.bcd[], 
  Table: TYPE~@Table.bcd[], 
  VMFunc: ([BasicsImpl: Basics]->TYPE VM)~@VM.bcd] IN 
  
LAMBDA [
    AtomImpl: Atom, 
    BasicsImpl: Basics,
    BasicTimeImpl: BasicTime, 
    BcdOpsImpl: BcdOps, 
    FSImpl: FS, 
    IOImpl: IO, 
    LoadStateImpl: LoadState, 
    PrincOpsUtilsImpl: PrincOpsUtils, 
    RopeImpl: Rope, 
    SafeStorageImpl: SafeStorage, 
    SafeStorageOpsImpl: SafeStorageOps, 
    SystemVersionImpl: SystemVersion, 
    VMImpl: VMFunc[NIL--BasicsImpl--]] => [] IN 
    
REC [
    VM: TYPE VM~VMFunc[BasicsImpl],
    &options: STRING~"", 
    Loader: TYPE~@Loader.mesa!539570608*[]*[], 
    LoaderOps: TYPE~@LoaderOps.mesa!539567253*[]*[], 
    [LoaderImpl: Loader, LoaderOpsImpl1: LoaderOps]~
      @CedarLoaderImpl.mesa!557251420*[]*[], 
    LoaderOpsImpl: LoaderOps~LoaderOpsImpl1 
      + @CedarLinkerImpl.mesa!539570573*[]*[] 
      + @CedarExporterImpl.mesa!556563848*[]*[]
   ]