jon.recoil.org

Module Make.Unrolling_state

type t = private
  1. | Not_unrolling
    (*

    Unrolling has not begun.

    *)
  2. | Unrolling of {
    1. remaining_depth : int;
    }
    (*

    Unrolling has begun and will continue until remaining_depth is zero. A subsequent unroll_to expression may increase the remaining depth.

    *)
  3. | Do_not_unroll
    (*

    No unrolling may occur. unroll_to has no effect.

    *)

The current state of unrolling. Can be set by an unroll_to expression.

val not_unrolling : Unrolling_state.t
val unrolling : remaining_depth:int -> Unrolling_state.t
val do_not_unroll : Unrolling_state.t
val equal : Unrolling_state.t -> Unrolling_state.t -> bool
val hash : Unrolling_state.t -> int