package ppx_monad

  1. Overview
  2. Docs
include module type of struct include Ppx_monad_lib end
val register : ?monad:string -> ?monad_error:string -> ?mk_return:(loc:Ppxlib.location -> Ppxlib.expression -> Ppxlib.expression) -> ?mk_bind: (loc:Ppxlib.location -> Ppxlib.expression -> Ppxlib.expression -> Ppxlib.expression) -> ?mk_fail:(loc:Ppxlib.location -> Ppxlib.expression -> Ppxlib.expression) -> ?mk_catch: (loc:Ppxlib.location -> Ppxlib.expression -> Ppxlib.expression -> Ppxlib.expression) -> ?applies_on:string -> string -> unit

Register a new monadic PPX.

val fresh_variable : unit -> Ppxlib.pattern * Ppxlib.expression

Creates a fresh variable never used anywhere else in the program. Returns a pattern binding it and an expression evaluating to it.