(* Fnlib.sig *)exception Impossible of string;val fatalError : string -> 'a;val getOption : 'a option -> 'a;val fst : 'a * 'b -> 'a;val snd : 'a * 'b -> 'b;val incr : int ref -> unit;val decr : int ref -> unit;val mapFrom: (int -> 'a -> 'b) -> int -> 'a list -> 'b list;val map2: ('a -> 'b -> 'c) -> 'a list -> 'b list -> 'c list;val appFrom: (int -> 'a -> unit) -> int -> 'a list -> unit;val app2: ('a -> 'b -> unit) -> 'a list -> 'b list -> unit;val revApp: ('a -> unit) -> 'a list -> unit;val foldL: ('a -> 'b -> 'b) -> 'b -> 'a list -> 'b;val foldL_zip : ('a -> 'b -> 'c -> 'c) -> 'c -> 'a list -> 'b list -> 'c;val foldL_map : ('a -> 'b -> 'b) -> ('c -> 'a) -> 'b -> 'c list -> 'b;val foldR: ('a -> 'b -> 'b) -> 'b -> 'a list -> 'b;val foldR1: ('a -> 'a -> 'a) -> 'a list -> 'a;val foldR_map: ('a -> 'b -> 'b) -> ('c -> 'a) -> 'b -> 'c list -> 'b;val map_fields : ('a -> 'b) -> ('c * 'a) list -> ('c * 'b) list;val all_fields : ('a -> bool) -> ('b * 'a) list -> bool;val exists_field : ('a -> bool) -> ('b * 'a) list -> bool;val app_field : ('a -> unit) -> ('b * 'a) list -> unit;val member : ''a -> ''a list -> boolval remove : ''a -> ''a list -> ''a listval drop : ('a -> bool) -> 'a list -> 'a list val lookup : ''a -> (''a * 'b) list -> 'b (* May raise Subscript *)val binlookup : string -> (string * 'b) Vector.vector -> 'b (* Subscript *) val exists: ('a -> bool) -> 'a list -> bool val choose: ('a -> bool) -> 'a list -> 'a (* May raise Subscript *)val find : ('a -> bool) -> ('a * 'b) list -> 'b (* May raise Subscript *)val foldInt : (int -> 'b -> 'b) -> 'b -> int -> 'bval duplicates : ''a list -> bool;val stringToLower : string -> string;val for : (int -> unit) -> int -> int -> unit;val zip2 : 'a list -> 'b list -> ('a * 'b) list;
(* Fnlib.sig *)
exception Impossible of string;
val fatalError : string -> 'a;
val getOption : 'a option -> 'a;
val fst : 'a * 'b -> 'a;
val snd : 'a * 'b -> 'b;
val incr : int ref -> unit;
val decr : int ref -> unit;
val mapFrom: (int -> 'a -> 'b) -> int -> 'a list -> 'b list;
val map2: ('a -> 'b -> 'c) -> 'a list -> 'b list -> 'c list;
val appFrom: (int -> 'a -> unit) -> int -> 'a list -> unit;
val app2: ('a -> 'b -> unit) -> 'a list -> 'b list -> unit;
val revApp: ('a -> unit) -> 'a list -> unit;
val foldL: ('a -> 'b -> 'b) -> 'b -> 'a list -> 'b;
val foldL_zip : ('a -> 'b -> 'c -> 'c) -> 'c -> 'a list -> 'b list -> 'c;
val foldL_map : ('a -> 'b -> 'b) -> ('c -> 'a) -> 'b -> 'c list -> 'b;
val foldR: ('a -> 'b -> 'b) -> 'b -> 'a list -> 'b;
val foldR1: ('a -> 'a -> 'a) -> 'a list -> 'a;
val foldR_map: ('a -> 'b -> 'b) -> ('c -> 'a) -> 'b -> 'c list -> 'b;
val map_fields : ('a -> 'b) -> ('c * 'a) list -> ('c * 'b) list;
val all_fields : ('a -> bool) -> ('b * 'a) list -> bool;
val exists_field : ('a -> bool) -> ('b * 'a) list -> bool;
val app_field : ('a -> unit) -> ('b * 'a) list -> unit;
val member : ''a -> ''a list -> bool
val remove : ''a -> ''a list -> ''a list
val drop : ('a -> bool) -> 'a list -> 'a list
val lookup : ''a -> (''a * 'b) list -> 'b (* May raise Subscript *)
val binlookup : string -> (string * 'b) Vector.vector -> 'b (* Subscript *)
val exists: ('a -> bool) -> 'a list -> bool
val choose: ('a -> bool) -> 'a list -> 'a (* May raise Subscript *)
val find : ('a -> bool) -> ('a * 'b) list -> 'b (* May raise Subscript *)
val foldInt : (int -> 'b -> 'b) -> 'b -> int -> 'b
val duplicates : ''a list -> bool;
val stringToLower : string -> string;
val for : (int -> unit) -> int -> int -> unit;
val zip2 : 'a list -> 'b list -> ('a * 'b) list;