sig
type level
val older : Fcl_stak.level -> Fcl_stak.level -> bool
val size : unit -> int
val depth : unit -> int
val level : unit -> Fcl_stak.level
val levels : unit -> Fcl_stak.level list
val nb_choice_points : unit -> int
exception Level_not_found of Fcl_stak.level
val cut : Fcl_stak.level -> unit
exception Fail of string
val fail : string -> 'a
type 'a ref
val ref : 'a -> 'a Fcl_stak.ref
val set : 'a Fcl_stak.ref -> 'a -> unit
val get : 'a Fcl_stak.ref -> 'a
type gl = { name : string; call : unit -> Fcl_stak.gl option; }
exception Empty_stack
val reset : unit -> unit
val save : Fcl_stak.gl list -> Fcl_stak.level
val backtrack : unit -> Fcl_stak.gl list
val backtrack_all : unit -> unit
val trail : (unit -> unit) -> unit
val cut_bottom : Fcl_stak.level -> unit
val unsafe_set : 'a Fcl_stak.ref -> 'a -> unit
end