package archi

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

Creating components

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