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

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

unix.superglobalmegacorp.com

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