Module Hardcaml.Interface
Interfaces specify the widths and names of a group of signals, and some functions for manipulating the signals as a group.
They are generally used with ppx_deriving_hardcaml
as follows
type t = { ... } [@@deriving sexp_of, hardcaml]
The sexp_of
is required, and must appear before hardcaml
. This syntax generates a call to Interface.Make
, which therefore does not need to be explicitly called.
module type Pre_partial = Hardcaml__.Interface_intf.Pre_partial
module type Pre = Hardcaml__.Interface_intf.Pre
module type S = Hardcaml__.Interface_intf.S
module type Ast = Hardcaml__.Interface_intf.Ast
module type Empty = Hardcaml__.Interface_intf.Empty
module type S_with_ast = sig ... end
module Create_fn : functor (I : S) -> functor (O : S) -> sig ... end
Type of functions representing the implementation of a circuit from an input to output interface.
module type S_enum = Hardcaml__.Interface_intf.S_enum
module type S_enums = Hardcaml__.Interface_intf.S_enums
module Make_enums : functor (Enum : Hardcaml__.Interface_intf.Enum) -> S_enums with module Enum := Enum
Constructs a hardcaml interface which represents hardware for the given
Enum
as an absstractInterface
.