|
|
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.