Annotation of researchv10no/cmd/sml/src/boot/perv.sig, revision 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.