summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
ac9bb9b)
Signed-off-by: Jim Pryor <profjim@jimpryor.net>
(* Some library functions used below. *)
(* Some library functions used below. *)
module Util = struct
let fold_right = List.fold_right
let map = List.map
module Util = struct
let fold_right = List.fold_right
let map = List.map
let undef = Obj.magic (fun () -> raise Undefined)
end
let undef = Obj.magic (fun () -> raise Undefined)
end
(*
* This module contains factories that extend a base set of
* monadic definitions with a larger family of standard derived values.
*)
module Monad = struct
(*
* This module contains factories that extend a base set of
* monadic definitions with a larger family of standard derived values.
*)
module Monad = struct
(*
* Signature extenders:
* Make :: BASE -> S
(*
* Signature extenders:
* Make :: BASE -> S
let distribute f t = mapT (fun a -> elevate (f a)) t zero plus
let expose u = u
end
let distribute f t = mapT (fun a -> elevate (f a)) t zero plus
let expose u = u
end