sail

Sail is a language for describing the instruction semantics of processors
IN THIS PACKAGE
Module Util
val opt_colors : bool ref
val opt_verbosity : int ref
val last : 'a list -> 'a
val butlast : 'a list -> 'a list
module Duplicate (S : Set.S) : sig ... end
val remove_duplicates : 'a list -> 'a list
val remove_dups : ( 'a -> 'a -> int ) -> ( 'a -> 'a -> bool ) -> 'a list -> 'a list
val lex_ord_list : ( 'a -> 'a -> int ) -> 'a list -> 'a list -> int
val assoc_equal_opt : ( 'a -> 'a -> bool ) -> 'a -> ('a * 'b) list -> 'b option
val assoc_compare_opt : ( 'a -> 'a -> int ) -> 'a -> ('a * 'b) list -> 'b option
val power : int -> int -> int
val option_map : ( 'a -> 'b ) -> 'a option -> 'b option
val option_cases : 'a option -> ( 'a -> 'b ) -> ( unit -> 'b ) -> 'b
val option_bind : ( 'a -> 'b option ) -> 'a option -> 'b option
val option_default : 'a -> 'a option -> 'a
val option_binop : ( 'a -> 'a -> 'b ) -> 'a option -> 'a option -> 'b option
val option_get_exn : exn -> 'a option -> 'a
val option_these : 'a option list -> 'a list
val option_all : 'a option list -> 'a list option
val changed2 : ( 'a -> 'b -> 'c ) -> ( 'a -> 'a option ) -> 'a -> ( 'b -> 'b option ) -> 'b -> 'c option
val is_some : 'a option -> bool
val is_none : 'a option -> bool
val list_index : ( 'a -> bool ) -> 'a list -> int option
val option_first : ( 'a -> 'b option ) -> 'a list -> 'b option
val map_changed : ( 'a -> 'a option ) -> 'a list -> 'a list option
val map_changed_default : ( 'a -> 'b ) -> ( 'a -> 'b option ) -> 'a list -> 'b list option
val list_mapi : ( int -> 'a -> 'b ) -> 'a list -> 'b list
val list_iter_sep : ( unit -> unit ) -> ( 'a -> unit ) -> 'a list -> unit
val map_filter : ( 'a -> 'b option ) -> 'a list -> 'b list
val map_all : ( 'a -> 'b option ) -> 'a list -> 'b list option
val list_to_front : int -> 'a list -> 'a list
val undo_list_to_front : int -> 'a list -> 'a list
val split_after : int -> 'a list -> 'a list * 'a list
val split3 : ('a * 'b * 'c) list -> 'a list * 'b list * 'c list
val compare_list : ( 'a -> 'b -> int ) -> 'a list -> 'b list -> int
val take : int -> 'a list -> 'a list
val drop : int -> 'a list -> 'a list
val take_drop : ( 'a -> bool ) -> 'a list -> 'a list * 'a list
val find_next : ( 'a -> bool ) -> 'a list -> 'a list * ('a * 'a list) option
val list_init : int -> ( int -> 'a ) -> 'a list
val copy_file : string -> string -> unit
val move_file : string -> string -> unit
val same_content_files : string -> string -> bool
val string_to_list : string -> char list
module IntSet : sig ... end
module IntIntSet : sig ... end
val string_of_list : string -> ( 'a -> string ) -> 'a list -> string
val string_of_option : ( 'a -> string ) -> 'a option -> string
val split_on_char : char -> string -> string list
val termcode : int -> string
val bold : string -> string
val dim : string -> string
val darkgray : string -> string
val green : string -> string
val red : string -> string
val red_bg : string -> string
val yellow : string -> string
val cyan : string -> string
val blue : string -> string
val magenta : string -> string
val clear : string -> string
val zencode_string : string -> string
val zencode_upper_string : string -> string
val file_encode_string : string -> string
val log_line : string -> int -> string -> string
val header : string -> int -> string
val progress : string -> string -> int -> int -> unit