package hardcaml_handshake

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
module IO : sig ... end
type ('a, 'b) t
val id : ('a, 'a) t

An identity arrow. Purely combinational and does nothing.

val component : ('a IO.t -> 'b IO.t) -> ('a, 'b) t

Creates a handshake component with an explicit custom ack signal.

This function should be used to use regular hardcaml components within the handshake framework.

val arr : ('a -> 'b) -> ('a, 'b) t

Creates a handshake arrow from a regular OCaml function.

This is useful for combinational logic that requires no ack signals.

val (>>>) : ('a, 'b) t -> ('b, 'c) t -> ('a, 'c) t

>>> a b composes two handshake components together.

val run : ('a, 'b) t -> 'a IO.t -> 'b IO.t

Creates a chained handshake component comprising of an arbitrary number of components. List of components can be empty, of which no handshake pipelining will be done.

OCaml

Innovation. Community. Security.