|
|
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.