Effect.Shallow(3) | OCaml library | Effect.Shallow(3) |
NAME
Effect.Shallow - no description
Module
Module Effect.Shallow
Documentation
Module Shallow
: sig end
type ('a, 'b) continuation
('a,'b) continuation is a delimited continuation that expects a 'a value and returns a 'b value.
val fiber : ('a -> 'b) -> ('a, 'b) continuation
fiber f constructs a continuation that runs the computation f .
type ('a, 'b) handler = {
retc : 'a -> 'b ;
exnc : exn -> 'b ;
effc : 'c. 'c Effect.t -> (('c, 'a) 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) continuation -> 'c -> ('a, 'b) handler -> 'b
continue_with k v h resumes the continuation k with value v with the handler h .
Raises Continuation_already_resumed if the continuation has already been resumed.
val discontinue_with : ('c, 'a) continuation -> exn -> ('a, 'b) handler -> 'b
discontinue_with k e h resumes the continuation k by raising the exception e with the handler h .
Raises Continuation_already_resumed if the continuation has already been resumed.
val discontinue_with_backtrace : ('a, 'b) continuation -> exn -> Printexc.raw_backtrace -> ('b, 'c) handler -> 'c
discontinue_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.
Raises Continuation_already_resumed if the continuation has already been resumed.
val get_callstack : ('a, 'b) continuation -> int -> Printexc.raw_backtrace
get_callstack c n returns a description of the top of the call stack on the continuation c , with at most n entries.
2024-05-31 | OCamldoc |