package archi

  1. Overview
  2. Docs

Module Archi.ComponentSource

type (_, _) t
type (_, _, _) deps =
  1. | [] : ('ctx, 'ty, 'ty) deps
  2. | :: : ('ctx, 'a) t * ('ctx, 'b, 'ty) deps -> ('ctx, 'a -> 'b, 'ty) deps
Sourceval append : ('ctx, 'a) t -> ('ctx, 'b, 'ty) deps -> ('ctx, 'a -> 'b, 'ty) deps
Sourceval concat : ('ctx, 'a, 'ty) deps -> ('ctx, 'ty, 'b) deps -> ('ctx, 'a, 'b) deps
Sourcemodule type COMPONENT = sig ... end
Sourcemodule type SIMPLE_COMPONENT = sig ... end

Creating components

Sourceval identity : 'ty -> ('ctx, 'ty) t
Sourceval make : start:('ctx -> ('a, [ `Msg of string ]) result Io.t) -> stop:('a -> unit Io.t) -> ('ctx, 'a) t
Sourceval make_m : (module SIMPLE_COMPONENT with type ctx = 'ctx and type t = 'a) -> ('ctx, 'a) t
Sourceval using : start:('ctx -> 'args) -> stop:('a -> unit Io.t) -> dependencies:('ctx, 'args, ('a, [ `Msg of string ]) result Io.t) deps -> ('ctx, 'a) t
Sourceval using_m : (module COMPONENT with type args = 'args and type ctx = 'ctx and type t = 'a) -> dependencies:('ctx, 'args, ('a, [ `Msg of string ]) result Io.t) deps -> ('ctx, 'a) t
Sourceval of_system : ('a, 'b, 'c) System.t -> ('a, 'b) t
OCaml

Innovation. Community. Security.