-- file RuntimeLoader.model
-- Copyright (c) 1985 by Xerox Corporation.  All rights reserved.
-- last edit by Satterthwaite, May 20, 1986 3:37:04 pm PDT

LET @///sml/OSBasics.modelBcd!581021414 IN 
LET @///sml/CedarBasics.modelBcd!581021540 IN 
LET [
    BcdDefs: TYPE~@/Cedar/Cedar6.1/BasicLoadState/BcdDefs.bcd!541573150, 
    BcdOps: TYPE~@/Cedar/Cedar6.1/BasicLoadState/BcdOps.bcd!541573152, 
    LoadState: TYPE~@/Cedar/Cedar6.1/LoadState/LoadState.bcd!541577045, 
    RuntimeError: TYPE~@/Cedar/Cedar6.1/MesaRuntime/RuntimeError.bcd!541570482, 
    SafeStorageOps: TYPE~
      @/Cedar/Cedar6.1/SafeStorage/SafeStorageOps.bcd!541573495, 
    SystemVersion: TYPE~@/Cedar/Cedar6.1/Tentacles/SystemVersion.bcd!541571979, 
    Table: TYPE~@/Cedar/Cedar6.1/BasicLoadState/Table.bcd!541573140] IN 

LAMBDA [
    AtomImpl: Atom, 
    BasicsImpl: Basics, 
    BasicTimeImpl: BasicTime, 
    BcdOpsImpl: BcdOps, 
    FSImpl: FS, 
    IOImpl: IO, 
    LoadStateImpl: LoadState, 
    PrincOpsUtilsImpl: PrincOpsUtils, 
    RopeImpl: Rope, 
    RuntimeErrorImpl: RuntimeError, 
    SafeStorageImpl: SafeStorage, 
    SafeStorageOpsImpl: SafeStorageOps, 
    SystemVersionImpl: SystemVersion, 
    VMImpl: VM] IN 
  
  LET REC [
      &options: STRING~""; 
      
      Loader: TYPE~@Loader.mesa!539570608*[&options:~"s-z"]; 
      LoaderOps: TYPE~@LoaderOps.mesa!539567253*[&options:~"s-z"]; 
      LoaderOpsExtras: TYPE~@LoaderOpsExtras.mesa!570661519*[&options:~"s-z"]; 
      
      [
      LoaderImpl: Loader, LoaderOpsImpl1: LoaderOps, 
      LoaderOpsExtrasImpl1: LoaderOpsExtras]~
        @CedarLoaderImpl.mesa!579550486*[]*[]; 
      
      [LoaderOpsImpl2: LoaderOps, LoaderOpsExtrasImpl2: LoaderOpsExtras]~
        @CedarExporterImpl.mesa!570662071*[]*[]; 
      
      LoaderOpsImpl: LoaderOps~
        LoaderOpsImpl1 + @CedarLinkerImpl.mesa!571608344*[]*[] + LoaderOpsImpl2; 
      LoaderOpsExtraImpl: LoaderOpsExtras~
        LoaderOpsExtrasImpl1 + LoaderOpsExtrasImpl2] IN 
  
  [Loader: TYPE~Loader, 
   LoaderOps: TYPE~LoaderOps, 
   LoaderOpsExtras: TYPE~LoaderOpsExtras, 
   LoaderImpl: Loader~LoaderImpl, 
   LoaderOpsImpl: LoaderOps~LoaderOpsImpl, 
   LoaderOpsExtrasImpl: LoaderOpsExtras~LoaderOpsExtraImpl]
