home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / sml_nj / 93src.lha / src / modules / moduleutil.sig < prev    next >
Encoding:
Text File  |  1993-02-06  |  3.9 KB  |  81 lines

  1. signature MODULEUTIL =
  2.   sig
  3.  
  4.     exception ErrorStructure
  5.     exception UnboundComponent of Modules.spath
  6.  
  7.     val mkStructure : Modules.binding Env.env * Symbol.symbol list
  8.                       -> Modules.Structure
  9.     val eqFsig : Modules.FctSignature * Modules.FctSignature -> bool
  10.     val transType : Modules.Structure -> Types.ty -> Types.ty
  11.     val lvarOfBinding : Modules.binding -> int option
  12.     val last : 'a list -> 'a
  13.  
  14.     val appendAccess : Access.access * Access.slot list -> Access.access
  15.     val bogusCONbind : Modules.binding
  16.     val bogusFCTvar : Modules.functorVar
  17.     val bogusSTRvar : Modules.structureVar
  18.     val compose : ('a * Modules.trans list) option * Modules.trans list 
  19.           -> Modules.trans list
  20.     val eqOrigin : Modules.Structure * Modules.Structure -> bool
  21.     val eqSign : Modules.Signature * Modules.Signature -> bool
  22.     val eqSignature : Modules.Signature * Modules.Signature -> bool
  23.     val findPath : Symbol.symbol list * 'a * ('a * 'b -> bool) * 
  24.            (Symbol.symbol list * ('c -> 'd) -> 'b) -> string
  25.     val getFctStamp : Modules.Functor -> Stamps.stamp
  26.     val getOrigin : Modules.Structure -> Modules.Structure
  27.     val getSigPos : Modules.Signature -> Symbol.symbol -> Modules.strpos
  28.     val getSigPosGen : Modules.Signature -> Symbol.symbol -> Modules.binding
  29.     val getSigTPos : Modules.Signature -> Symbol.symbol -> int
  30.     val getSignStamp : Modules.Signature -> Stamps.stamp
  31.     val getStrPath : Modules.Structure -> Modules.spath
  32.     val getStrPos : Modules.Structure -> Symbol.symbol -> Modules.strpos
  33.     val getStrStamp : Modules.Structure -> Stamps.stamp
  34.     val getStrTPos : Modules.Structure -> Symbol.symbol -> int
  35.     val lookArTYC : (Modules.binding Env.env * Normalize.env option) 
  36.             * Symbol.symbol list * int 
  37.                * ErrorMsg.complainer -> Types.tycon
  38.     val lookBinding : Modules.Structure * Symbol.symbol list * Access.slot list
  39.               -> Modules.binding
  40.     val lookBindingSTR : Modules.Structure * Symbol.symbol list 
  41.              -> Modules.structureVar
  42.     val lookBindingTYC : Modules.Structure * Symbol.symbol list -> Types.tycon
  43.     val lookEXN : Modules.binding Env.env * Modules.spath *
  44.          ErrorMsg.complainer -> Types.datacon
  45.     val lookFCT : Modules.binding Env.env * Modules.spath * 
  46.           ErrorMsg.complainer -> Modules.functorVar
  47.     val lookFIX : Modules.binding Env.env * Symbol.symbol -> Fixity.fixity
  48.     val lookFSIG : Modules.binding Env.env * Symbol.symbol
  49.            * ErrorMsg.complainer 
  50.            -> Modules.FctSignature
  51.     val lookFormalBinding : Modules.env * Symbol.symbol list
  52.                 -> Modules.binding * int list
  53.     val lookGen : (Modules.binding * int list * Modules.spath -> 'a) * 'a 
  54.           -> Modules.binding Env.env * Modules.spath
  55.           * ErrorMsg.complainer -> 'a
  56.     val lookSIG : Modules.binding Env.env * Symbol.symbol 
  57.           * ErrorMsg.complainer -> Modules.Signature
  58.     val lookSTR : Modules.binding Env.env * Modules.spath
  59.           * ErrorMsg.complainer -> Modules.structureVar
  60.     val lookShortVARCON : Modules.binding Env.env * Symbol.symbol
  61.               * ErrorMsg.complainer
  62.               -> Modules.binding
  63.     val lookTYC : Modules.binding Env.env * Modules.spath
  64.           * ErrorMsg.complainer -> Types.tycon
  65.     val lookVARCON : Modules.binding Env.env * Modules.spath
  66.              * ErrorMsg.complainer -> Modules.binding
  67.     val makeEnv : Modules.Structure * Access.slot list
  68.           -> Modules.binding Env.env
  69.     val notInitialLowerCase : string -> bool
  70.     val openSigStructure : 
  71.       Modules.binding Env.env * Modules.spath * Modules.binding Env.env
  72.       * ErrorMsg.complainer -> Modules.binding Env.env
  73.     val openStructureVar : Modules.binding Env.env * Modules.structureVar
  74.                -> Modules.env
  75.     val sortEnvBindings : Modules.binding Env.env
  76.               -> (Symbol.symbol * Modules.binding) list
  77.     val transPosFct : Modules.Structure -> int list -> Modules.Functor
  78.     val transPosStr : Modules.Structure -> int list -> Modules.Structure
  79.     val transPosTycon : Modules.Structure -> int list -> Types.tycon
  80.   end
  81.