Reason
  • Docs
  • Try
  • API
  • Community
  • Blog
  • Languages iconEnglish
    • 日本語
    • Deutsch
    • Español
    • Français
    • 한국어
    • Português (Brasil)
    • Русский
    • Українська
    • 中文
    • 繁體中文
    • Help Translate
  • GitHub
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