|
|
1.1 ! root 1: (* Copyright 1989 by AT&T Bell Laboratories *) ! 2: signature REF = ! 3: sig ! 4: infix 3 := ! 5: val ! : 'a ref -> 'a ! 6: val := : 'a ref * 'a -> unit ! 7: val inc : int ref -> unit ! 8: val dec : int ref -> unit ! 9: end ! 10: ! 11: signature LIST = ! 12: sig ! 13: infixr 5 :: @ ! 14: datatype 'a list = :: of ('a * 'a list) | nil ! 15: exception Hd ! 16: exception Tl ! 17: exception Nth ! 18: exception NthTail ! 19: val hd : 'a list -> 'a ! 20: val tl : 'a list -> 'a list ! 21: val null : 'a list -> bool ! 22: val length : 'a list -> int ! 23: val @ : 'a list * 'a list -> 'a list ! 24: val rev : 'a list -> 'a list ! 25: val map : ('a -> 'b) -> 'a list -> 'b list ! 26: val fold : (('a * 'b) -> 'b) -> 'a list -> 'b -> 'b ! 27: val revfold : (('a * 'b) -> 'b) -> 'a list -> 'b -> 'b ! 28: val app : ('a -> 'b) -> 'a list -> unit ! 29: val revapp : ('a -> 'b) -> 'a list -> unit ! 30: val nth : 'a list * int -> 'a ! 31: val nthtail : 'a list * int -> 'a list ! 32: val exists : ('a -> bool) -> 'a list -> bool ! 33: end ! 34: ! 35: signature ARRAY = ! 36: sig ! 37: infix 3 sub ! 38: type 'a array ! 39: exception Subscript ! 40: val array : int * '1a -> '1a array ! 41: val sub : 'a array * int -> 'a ! 42: val update : 'a array * int * 'a -> unit ! 43: val length : 'a array -> int ! 44: val arrayoflist : '1a list -> '1a array ! 45: end ! 46: ! 47: signature BYTEARRAY = ! 48: sig ! 49: infix 3 sub ! 50: eqtype bytearray ! 51: exception Subscript ! 52: exception Range ! 53: val array : int * int -> bytearray ! 54: val sub : bytearray * int -> int ! 55: val update : bytearray * int * int -> unit ! 56: val length : bytearray -> int ! 57: val extract : bytearray * int * int -> string ! 58: val fold : ((int * 'b) -> 'b) -> bytearray -> 'b -> 'b ! 59: val revfold : ((int * 'b) -> 'b) -> bytearray -> 'b -> 'b ! 60: val app : (int -> 'a) -> bytearray -> unit ! 61: val revapp : (int -> 'b) -> bytearray -> unit ! 62: end ! 63: ! 64: signature BASICIO = ! 65: sig ! 66: type instream ! 67: type outstream ! 68: exception Io of string ! 69: val std_in : instream ! 70: val std_out : outstream ! 71: val open_in : string -> instream ! 72: val open_out : string -> outstream ! 73: val close_in : instream -> unit ! 74: val close_out : outstream -> unit ! 75: val output : outstream -> string -> unit ! 76: val input : instream -> int -> string ! 77: val lookahead : instream -> string ! 78: val end_of_stream : instream -> bool ! 79: end ! 80: ! 81: signature IO = ! 82: sig ! 83: type instream ! 84: type outstream ! 85: exception Io of string ! 86: val std_in : instream ! 87: val std_out : outstream ! 88: val open_in : string -> instream ! 89: val open_out : string -> outstream ! 90: val open_append : string -> outstream ! 91: val open_string : string -> instream ! 92: val close_in : instream -> unit ! 93: val close_out : outstream -> unit ! 94: val output : outstream -> string -> unit ! 95: val input : instream -> int -> string ! 96: val input_line : instream -> string ! 97: val lookahead : instream -> string ! 98: val end_of_stream : instream -> bool ! 99: val can_input : instream -> int ! 100: val flush_out : outstream -> unit ! 101: val is_term_in : instream -> bool ! 102: val is_term_out : outstream -> bool ! 103: val set_term_in : instream * bool -> unit ! 104: val set_term_out : outstream * bool -> unit ! 105: val execute : string -> instream * outstream ! 106: val exportML : string -> bool ! 107: val exportFn : string * (string list * string list -> unit) -> unit ! 108: val use : string -> unit ! 109: val use_stream : instream -> unit ! 110: val reduce : ('a -> 'b) -> ('a -> 'b) ! 111: val mtime : instream -> int ! 112: (* the following are temporary components *) ! 113: val reduce_r : ((unit -> unit) -> (unit -> unit)) ref ! 114: val cleanup : unit -> unit ! 115: val use_f : (string -> unit) ref ! 116: val use_s : (instream -> unit) ref ! 117: end ! 118: ! 119: signature BOOL = ! 120: sig ! 121: datatype bool = true | false ! 122: val not : bool -> bool ! 123: val print : bool -> unit ! 124: val makestring : bool -> string ! 125: end ! 126: ! 127: signature STRING = ! 128: sig ! 129: infix 6 ^ ! 130: infix 4 > < >= <= ! 131: type string ! 132: exception Substring ! 133: val length : string -> int ! 134: val size : string -> int ! 135: val substring : string * int * int -> string ! 136: val explode : string -> string list ! 137: val implode : string list -> string ! 138: val <= : string * string -> bool ! 139: val < : string * string -> bool ! 140: val >= : string * string -> bool ! 141: val > : string * string -> bool ! 142: val ^ : string * string -> string ! 143: exception Chr ! 144: val chr : int -> string ! 145: exception Ord ! 146: val ord : string -> int ! 147: val ordof : string * int -> int ! 148: val print : string -> unit ! 149: end ! 150: ! 151: signature INTEGER = ! 152: sig ! 153: infix 7 * div mod ! 154: infix 6 + - ! 155: infix 4 > < >= <= ! 156: exception Div ! 157: exception Overflow ! 158: type int ! 159: val ~ : int -> int ! 160: val * : int * int -> int ! 161: val div : int * int -> int ! 162: val mod : int * int -> int ! 163: val + : int * int -> int ! 164: val - : int * int -> int ! 165: val > : int * int -> bool ! 166: val >= : int * int -> bool ! 167: val < : int * int -> bool ! 168: val <= : int * int -> bool ! 169: val min : int * int -> int ! 170: val max : int * int -> int ! 171: val abs : int -> int ! 172: val print : int -> unit ! 173: val makestring : int -> string ! 174: end ! 175: ! 176: signature BITS = ! 177: sig ! 178: type int ! 179: val orb : int * int -> int ! 180: val andb : int * int -> int ! 181: val xorb : int * int -> int ! 182: val lshift : int * int -> int ! 183: val rshift : int * int -> int ! 184: val notb : int * int -> int ! 185: end ! 186: ! 187: signature REAL = ! 188: sig ! 189: infix 7 * / ! 190: infix 6 + - ! 191: infix 4 > < >= <= ! 192: type real ! 193: exception Floor and Sqrt and Exp and Ln ! 194: exception Real of string ! 195: exception Float of string (* same as Real *) ! 196: val ~ : real -> real ! 197: val + : (real * real) -> real ! 198: val - : (real * real) -> real ! 199: val * : (real * real) -> real ! 200: val / : (real * real) -> real ! 201: val > : (real * real) -> bool ! 202: val < : (real * real) -> bool ! 203: val >= : (real * real) -> bool ! 204: val <= : (real * real) -> bool ! 205: val abs : real -> real ! 206: val real : int -> real ! 207: val floor : real -> int ! 208: val truncate : real -> int ! 209: val ceiling : real -> int ! 210: val sqrt : real -> real ! 211: val sin : real -> real ! 212: val cos : real -> real ! 213: val arctan : real -> real ! 214: val exp : real -> real ! 215: val ln : real -> real ! 216: val print : real -> unit ! 217: val makestring : real -> string ! 218: end ! 219: ! 220: signature GENERAL = ! 221: sig ! 222: infix 3 o ! 223: infix before ! 224: exception Bind ! 225: exception Match ! 226: exception Interrupt ! 227: exception SystemCall of string ! 228: val callcc : ('a cont -> 'a) -> 'a ! 229: val throw : 'a cont -> 'a -> 'b ! 230: val o : ('b -> 'c) * ('a -> 'b) -> ('a -> 'c) ! 231: val before : ('a * 'b) -> 'a (* this may be renamed soon *) ! 232: datatype 'a option = NONE | SOME of 'a ! 233: type 'a cont ! 234: type exn ! 235: type unit ! 236: infix 4 = <> ! 237: val = : ''a * ''a -> bool ! 238: val <> : ''a * ''a -> bool ! 239: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.