package prbnmcn-basic-structures

  1. Overview
  2. Docs

Parameters

module Repr : sig ... end
module M : sig ... end

Signature

type 'a cont = {
  1. fa : 'b. ('a -> 'b Repr.m) -> 'b Repr.m;
}
type 'a m = 'a Repr.m

'a m is the type of generated programs of type 'a

type 'a t = 'a cont

'a t is the type of computations of type 'a

val return : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
val run : 'a m t -> 'a m
val lift1 : ('a -> 'b) -> 'a t -> 'b t
val lift2 : ('a -> 'b -> 'c) -> 'a t -> 'b t -> 'c t
val lift3 : ('a -> 'b -> 'c -> 'd) -> 'a t -> 'b t -> 'c t -> 'd t
module Infix : sig ... end