Module Handled_effectSource

Sourcemodule Handler : sig ... end
Sourcemodule Continuation : sig ... end
Sourceval continue : ('a, 'b, 'es) Continuation.t @ unique -> 'a @ unique once -> 'es Handler.List.t @ local -> 'b @ unique once @@ portable

continue k v hs resumes the continuation k with value v. hs are used to handle k's additional effects.

Sourceval discontinue : ('a, 'b, 'es) Continuation.t @ unique -> Base.exn -> 'es Handler.List.t @ local -> 'b @ unique once @@ portable

discontinue k e hs resumes the continuation k by raising the exception e. hs are used to handle k's additional effects.

Sourceval discontinue_with_backtrace : ('a, 'b, 'es) Continuation.t @ unique -> Base.exn -> Base.Backtrace.t -> 'es Handler.List.t @ local -> 'b @ unique once @@ portable

discontinue_with_backtrace k e bt hs resumes the continuation k by raising the exception e using the raw backtrace bt as the origin of the exception. hs are used to handle k's additional effects.

Sourcemodule type S2_generic = sig ... end

The generic signature for effects with 2 or fewer parameters.

Sourcemodule type S2_generic__nonportable__portable = sig ... end

The generic signature for effects with 2 or fewer parameters.

Sourcemodule type S2_generic__portable__nonportable = sig ... end

The generic signature for effects with 2 or fewer parameters.

Sourcemodule type S2_generic__portable__portable = sig ... end

The generic signature for effects with 2 or fewer parameters.

Sourcemodule type S_base = sig ... end

The signature for effects with no type parameters at a combination of modes.

Sourcemodule type S_base__nonportable__portable = sig ... end

The signature for effects with no type parameters at a combination of modes.

Sourcemodule type S_base__portable__nonportable = sig ... end

The signature for effects with no type parameters at a combination of modes.

Sourcemodule type S_base__portable__portable = sig ... end

The signature for effects with no type parameters at a combination of modes.

Sourcemodule type S = sig ... end

The signature for effects with no type parameters

Sourcemodule type S1_base = sig ... end

The signature for effects with one type parameter at a combination of modes.

Sourcemodule type S1_base__nonportable__portable = sig ... end

The signature for effects with one type parameter at a combination of modes.

Sourcemodule type S1_base__portable__nonportable = sig ... end

The signature for effects with one type parameter at a combination of modes.

Sourcemodule type S1_base__portable__portable = sig ... end

The signature for effects with one type parameter at a combination of modes.

Sourcemodule type S1 = sig ... end

The signature for effects with one type parameter

Sourcemodule type S2_base = sig ... end

The signature for effects with two type parameters at a combination of modes.

Sourcemodule type S2_base__nonportable__portable = sig ... end

The signature for effects with two type parameters at a combination of modes.

Sourcemodule type S2_base__portable__nonportable = sig ... end

The signature for effects with two type parameters at a combination of modes.

Sourcemodule type S2_base__portable__portable = sig ... end

The signature for effects with two type parameters at a combination of modes.

Sourcemodule type S2 = sig ... end

The signature for effects with two type parameters

Sourcemodule type Operations = sig ... end
Sourcemodule type Operations_rec = sig ... end
Sourcemodule type Operations1 = sig ... end
Sourcemodule type Operations1_rec = sig ... end
Sourcemodule type Operations2 = sig ... end
Sourcemodule type Operations2_rec = sig ... end
Sourcemodule Make (Ops : Operations) : S with type ('a, 'e) ops := 'a Ops.t
Sourcemodule Make_rec (Ops : Operations_rec) : S with type ('a, 'e) ops := ('a, 'e) Ops.t
Sourcemodule Make1 (Ops : Operations1) : S1 with type ('a, 'p, 'e) ops := ('a, 'p) Ops.t
Sourcemodule Make1_rec (Ops : Operations1_rec) : S1 with type ('a, 'p, 'e) ops := ('a, 'p, 'e) Ops.t
Sourcemodule Make2 (Ops : Operations2) : S2 with type ('a, 'p, 'q, 'e) ops := ('a, 'p, 'q) Ops.t
Sourcemodule Make2_rec (Ops : Operations2_rec) : S2 with type ('a, 'p, 'q, 'e) ops := ('a, 'p, 'q, 'e) Ops.t
Sourceexception Continuation_already_resumed

Exception raised when a continuation is continued or discontinued more than once.

Only achievable with Obj.magic_unique or similar escape hatches.