Module Effect.Shallow
('a,'b) continuation is a delimited continuation that expects a 'a value and returns a 'b value.
val fiber : ('a -> 'b) -> ('a, 'b) Stdlib.Effect.Shallow.continuationfiber f constructs a continuation that runs the computation f.
type ('a, 'b) handler = {retc : 'a -> 'b;exnc : exn -> 'b;effc : 'c. 'c Stdlib.Effect.t -> (('c, 'a) Stdlib.Effect.Shallow.continuation -> 'b) option;
}('a,'b) handler is a handler record with three fields -- retc is the value handler, exnc handles exceptions, and effc handles the effects performed by the computation enclosed by the handler.
val continue_with :
('c, 'a) Stdlib.Effect.Shallow.continuation ->
'c ->
('a, 'b) Stdlib.Effect.Shallow.handler ->
'bcontinue_with k v h resumes the continuation k with value v with the handler h.
val discontinue_with :
('c, 'a) Stdlib.Effect.Shallow.continuation ->
exn ->
('a, 'b) Stdlib.Effect.Shallow.handler ->
'bdiscontinue_with k e h resumes the continuation k by raising the exception e with the handler h.
val discontinue_with_backtrace :
('a, 'b) Stdlib.Effect.Shallow.continuation ->
exn ->
Stdlib.Printexc.raw_backtrace ->
('b, 'c) Stdlib.Effect.Shallow.handler ->
'cdiscontinue_with k e bt h resumes the continuation k by raising the exception e with the handler h using the raw backtrace bt as the origin of the exception.
val get_callstack :
('a, 'b) Stdlib.Effect.Shallow.continuation ->
int ->
Stdlib.Printexc.raw_backtraceget_callstack c n returns a description of the top of the call stack on the continuation c, with at most n entries.