sig
type ('a, 'b) continuation
val continue : ('a, 'b) Effect.Deep.continuation -> 'a -> 'b
val discontinue : ('a, 'b) Effect.Deep.continuation -> exn -> 'b
val discontinue_with_backtrace :
('a, 'b) Effect.Deep.continuation ->
exn -> Stdlib.Printexc.raw_backtrace -> 'b
type ('a, 'b) handler = {
retc : 'a -> 'b;
exnc : exn -> 'b;
effc :
'c. 'c Effect.t -> (('c, 'b) Effect.Deep.continuation -> 'b) option;
}
val match_with : ('c -> 'a) -> 'c -> ('a, 'b) Effect.Deep.handler -> 'b
type 'a effect_handler = {
effc :
'b. 'b Effect.t -> (('b, 'a) Effect.Deep.continuation -> 'a) option;
}
val try_with : ('b -> 'a) -> 'b -> 'a Effect.Deep.effect_handler -> 'a
external get_callstack :
('a, 'b) Effect.Deep.continuation -> int -> Stdlib.Printexc.raw_backtrace
= "caml_get_continuation_callstack"
end