package hardcaml

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Source file cross_product_intf.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
(** Functor to create a Hardcaml Interface from a cross-product of two
    types. *)

module type S = sig
  module Inner : Interface.S
  module Outer : Interface.S

  module type S = Interface.S with type 'a t = 'a Inner.t Outer.t

  include S
end

module type Cross_product = sig
  module type S = S

  module Make (Outer : Interface.S) (Inner : Interface.S) :
    S with module Inner := Inner and module Outer := Outer
end