Module Pvem (.ml)

module Pvem: sig .. end
Reusable Error Monads


This whole module is about using
type ('a, 'b) t = [
  | `Ok of 'a
  | `Error of 'b
]

module type ERROR_MONAD = sig .. end
The basic error monad signature.
module type RESULT = sig .. end
The signature of the Result module: ERROR_MONAD + exposed result type.
module Result: sig .. end
Implementation of RESULT
module type DEFERRED = sig .. end
The signature of a basic “thread” module called Deferred (like Lwt).
module type DEFERRED_RESULT = sig .. end
The result of the functor application: With_deferred(Deferred).
module With_deferred: 
functor (Deferred : DEFERRED) -> sig .. end