package hack_parallel

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
module type Basic = sig ... end
module type Infix = sig ... end
module type S = sig ... end
module Make (M : Basic) : S with type 'a t := 'a M.t
module type Basic2 = sig ... end

Multi parameter monad. The second parameter get unified across all the computation. This is used to encode monads working on a multi parameter data structure like (('a,'b result)).

module type Infix2 = sig ... end

Same as Infix, except the monad type has two arguments. The second is always just passed through.

module type S2 = sig ... end

The same as S except the monad type has two arguments. The second is always just passed through.

module Check_S2_refines_S (X : S) : S2 with type ('a, 'd) t = 'a X.t
module Make2 (M : Basic2) : S2 with type ('a, 'd) t := ('a, 'd) M.t