package vif

  1. Overview
  2. Docs

Module Vif_core.DeviceSource

Sourcetype t = ..
Sourcemodule Device : sig ... end
Sourcemodule Hmap : sig ... end
Sourceval failwithf : ('a, Format.formatter, unit, 'b) format4 -> 'a
Sourcetype t +=
  1. | Devices : Hmap.t -> t
Sourceval empty : t
Sourcetype ('value, 'a) arg =
  1. | Value : 'a Hmap.key -> ('value, 'a) arg
  2. | Const : 'a -> ('value, 'a) arg
  3. | Map : ('value, 'fn, 'r) args * 'fn -> ('value, 'r) arg
Sourceand ('value, 'fn, 'r) args =
  1. | [] : ('value, 'value -> 'r, 'r) args
  2. | :: : ('value, 'a) arg * ('value, 'fn, 'r) args -> ('value, 'a -> 'fn, 'r) args
Sourceval arg : 'a 'v. t -> 'v -> ('v, 'a) arg -> t * 'a
Sourceval keval_args : 'f 'r 'v. t -> 'v -> (('v -> 'r) -> t -> 'r) -> ('v, 'f, 'r) args -> 'f -> 'r
Sourcetype ('v, 'r) device =
  1. | Device : ('v, 'f, 'r) args * 'f * 'r Hmap.key -> ('v, 'r) device
Sourceval const : 'a -> ('b, 'a) arg
Sourceval value : ('a, 'b) device -> ('c, 'b) arg
Sourceval map : ('a, 'b, 'c) args -> 'b -> ('a, 'c) arg
Sourceval v : 'v 'f 'r. name:string -> finally:('r -> unit) -> ('v, 'f, 'r) args -> 'f -> ('v, 'r) device
Sourceval run : 'v. Hmap.t -> 'v -> ('v, 'r) device -> Hmap.t