Annotation of researchv10no/cmd/sml/src/boot/system.sig, revision 1.1.1.1

1.1       root        1: (* Copyright 1989 by AT&T Bell Laboratories *)
                      2: signature RUNTIMECONTROL =
                      3:   sig
                      4:     val collected : int ref
                      5:     val collectedfrom : int ref
                      6:     val gcmessages : int ref
                      7:     val majorcollections : int ref
                      8:     val minorcollections : int ref
                      9:     val ratio : int ref
                     10:     val softmax : int ref
                     11:   end
                     12: 
                     13: signature MCCONTROL =
                     14:   sig
                     15:     val printArgs : bool ref
                     16:     val printRet : bool ref
                     17:     val bindContainsVar : bool ref
                     18:     val bindExhaustive : bool ref
                     19:     val matchExhaustive : bool ref
                     20:     val matchRedundant : bool ref
                     21:     val expandResult : bool ref
                     22:   end
                     23: 
                     24: signature CGCONTROL =
                     25:   sig
                     26:     structure M68 : sig val trapv : bool ref end
                     27:     val tailrecur : bool ref
                     28:     val recordopt : bool ref
                     29:     val tail : bool ref
                     30:     val profile : bool ref
                     31:     val closureprint : bool ref
                     32:     val closureStrategy : int ref
                     33:     val rounds : int ref
                     34:     val path : bool ref
                     35:     val hoist : bool ref
                     36:     val reduce : bool ref
                     37:     val bodysize : int ref
                     38:     val reducemore : int ref
                     39:     val alphac : bool ref
                     40:     val comment : bool ref
                     41:     val knowngen : int ref
                     42:     val stdgen : int ref
                     43:     val knowncl : int ref
                     44:     val foldconst : bool ref
                     45:     val etasplit : bool ref
                     46:     val printit : bool ref
                     47:     val printsize : bool ref
                     48:     val scheduling : bool ref
                     49:   end
                     50: 
                     51: signature PRINTCONTROL =
                     52:   sig
                     53:     val printDepth : int ref
                     54:     val stringDepth : int ref
                     55:     val signatures : bool ref
                     56:   end
                     57: 
                     58: signature DEBUG =
                     59:   sig
                     60:     val debugging : bool ref
                     61:     val getDebugf : (int -> 'a) ref
                     62:     val interface : (int -> ('a -> 'b)) ref
                     63:   end
                     64: 
                     65: signature PROFILE =
                     66:   sig
                     67:     structure IO : sig type outstream end
                     68:     val profiling : bool ref         (* controls profiling mode of compilation *)
                     69:     val profileOn : unit -> unit      (* turn interrupt timer on *)
                     70:     val profileOff : unit -> unit     (* turn interrupt timer off *)
                     71:     val clear : unit -> unit          (* clear profiling database *)
                     72:     val reset : unit -> unit          (* reset profiling counts to zero *)
                     73:     val report : IO.outstream -> unit (* print profiling report to stream *)
                     74:   end
                     75: 
                     76: signature PROFILEINTERNALS = 
                     77:   sig 
                     78:     val add : 'a -> unit
                     79:     val setToplevel : unit -> unit
                     80:     val setOther : unit -> unit
                     81:     structure P : PROFILE
                     82:   end
                     83: 
                     84: signature CONTROL =
                     85:   sig
                     86:     structure Runtime : RUNTIMECONTROL
                     87:     structure MC : MCCONTROL
                     88:     structure CG : CGCONTROL
                     89:     structure Print : PRINTCONTROL
                     90:     structure ProfileInternals : PROFILEINTERNALS
                     91:     structure Profile : PROFILE
                     92:     structure Debug : DEBUG
                     93:     val prLambda : (unit -> unit) ref
                     94:     val debugging : bool ref
                     95:     val primaryPrompt : string ref
                     96:     val secondaryPrompt : string ref
                     97:     val internals : bool ref
                     98:     val weakUnderscore : bool ref
                     99:     val interp : bool ref
                    100:     val debugLook : bool ref
                    101:     val debugCollect : bool ref
                    102:     val debugBind : bool ref
                    103:     val saveLambda : bool ref
                    104:     val saveLvarNames : bool ref
                    105:     val timings : bool ref
                    106:     val reopen : bool ref
                    107:   end
                    108: 
                    109: signature TIMER =
                    110:   sig  
                    111:     datatype time = TIME of {sec : int, usec : int}
                    112:     type timer
                    113:     val start_timer : unit -> timer
                    114:     val check_timer : timer -> time
                    115:     val check_timer_gc: timer -> time
                    116:     val makestring : time -> string
                    117:     val add_time : time * time -> time
                    118:   end
                    119: 
                    120: signature TAGS =
                    121:   sig
                    122:     val width_tags : int
                    123:     val power_tags : int
                    124:     val tag_record : int
                    125:     val tag_array : int
                    126:     val tag_bytearray : int
                    127:     val tag_string : int
                    128:     val tag_embedded : int
                    129:     val tag_suspension : int
                    130:     val tag_backptr : int
                    131:     val tag_forwarded : int
                    132:   end
                    133: 
                    134: signature STATS =
                    135:   sig
                    136:     structure Timer : TIMER
                    137:     val lines : int ref
                    138:     val parse : Timer.time ref
                    139:     val translate : Timer.time ref
                    140:     val codeopt : Timer.time ref
                    141:     val convert : Timer.time ref
                    142:     val hoist : Timer.time ref
                    143:     val cpsopt : Timer.time ref
                    144:     val closure : Timer.time ref
                    145:     val globalfix : Timer.time ref
                    146:     val spill : Timer.time ref
                    147:     val codegen : Timer.time ref
                    148:     val freemap : Timer.time ref
                    149:     val execution : Timer.time ref
                    150:     val update : Timer.time ref * Timer.time -> unit
                    151:     val summary : unit -> unit
                    152:   end
                    153: 
                    154: signature UNSAFE =
                    155:   sig
                    156:     type object
                    157:     structure Assembly : ASSEMBLY
                    158:     val boxed : 'a -> bool
                    159:     val ordof : 'a * int -> int
                    160:     val slength : 'a -> int
                    161:     val store : 'a * int * int -> unit
                    162:     val subscript : 'a array * int -> 'a
                    163:     val update : 'a array * int * 'a -> unit
                    164:     val delay : int * 'a -> 'a
                    165:     val force : 'a -> 'a
                    166:     val boot : string -> ('a -> 'b)
                    167:     val cast : 'a -> 'b
                    168:     val syscall : int * string list * int -> int
                    169:     val blast_write : 'outstream * 'a -> unit
                    170:     val blast_read :  'instream -> 'a
                    171:     val create_s : int -> string
                    172:     val store_s : string * int * int -> unit
                    173:     val lookup_r : (int -> object) ref
                    174:     val lookup : int -> object
                    175:     val isolate : (unit->'a) -> 'a
                    176:     val pstruct : {core: object, initial: object, math: object} ref
                    177:     exception Boxity
                    178:     val tuple : object -> object array
                    179:     val string : object -> string
                    180:     val real : object -> real
                    181:     val int : object -> int
                    182:     datatype datalist = DATANIL | DATACONS of (string * string * datalist)
                    183:     val datalist : datalist
                    184:   end
                    185: 
                    186: signature SYSTEM =
                    187:   sig
                    188:     structure ByteArray : BYTEARRAY
                    189:     structure Control : CONTROL
                    190:     structure Tags : TAGS
                    191:     structure Timer : TIMER
                    192:     structure Stats : STATS
                    193:     structure Unsafe : UNSAFE
                    194:     val exn_name : exn -> string
                    195:     val version : string
                    196:     val interactive : bool ref
                    197:     val cleanup : unit -> unit  (* closes all files *)
                    198:     val system : string -> unit
                    199:     val cd : string -> unit
                    200:     val argv : unit -> string list
                    201:     val environ : unit -> string list
                    202:   end

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.