package alg_structs

  1. Overview
  2. Docs

Source file triv.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
(** A solitary type *)

open Util

(** [Triv] specifies a module with a single type [t].

    It is used in composing other structures. *)
module type S = sig
  type t
end

(** [make (Proxy : a proxy)] is a [(module T : S with t = a)]. *)
let make (type a) (Proxy : a proxy) =
  (module struct type t = a end : S with type t = a)
OCaml

Innovation. Community. Security.