• en

Module Switch

type 'a shared =
| Shared of 'a
| Single of 'a
type 'a t_store = {
act_get : unit -> 'a array;
act_get_shared : unit -> 'a shared array;
act_store : 'a -> int;
act_store_shared : 'a -> int;
}
exception Not_simple
module type Stored = sig
type t
type key
val make_key : t -> key option
end
TODO: functor:ocamlfind.1.5.2/compiler-libs/Switch.Store
module type S = sig
type primitive
val eqint : primitive
val neint : primitive
val leint : primitive
val ltint : primitive
val geint : primitive
val gtint : primitive
type act
val bind : act -> act -> act -> act
val make_const : int -> act
val make_offset : act -> int -> act
val make_prim : primitive -> act list -> act
val make_isout : act -> act -> act
val make_isin : act -> act -> act
val make_if : act -> act -> act -> act
val make_switch : act -> int array -> act array -> act
val make_catch : act -> (int * act -> act)
val make_exit : int -> act
end
TODO: functor:ocamlfind.1.5.2/compiler-libs/Switch.Make