sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
The type for untyped t
.
val app_has_no_arguments : 'a t -> bool
app_has_no_arguments i
is true
if the argument list is empty and it is an application, false
otherwise.
pp_abstract
is the pretty-printer for abstract module implementations.
if_t v t1 t2
is t1
if v
is resolved to true and t2
otherwise.
match_t v cases ~default
chooses the tementation amongst cases
by matching the v
's value. default
is chosen if no value matches.
val v :
?packages:Package.t list ->
?packages_v:Package.t list Key.value ->
?keys:Key.t list ->
?extra_deps:abstract list ->
?connect:(Info.t -> string -> string list -> string) ->
?dune:(Info.t -> Dune.stanza list) ->
?configure:(Info.t -> unit Action.t) ->
?files:(Info.t -> Fpath.t list) ->
string ->
'a Type.t ->
'a t
v ...
is of_device @@ Device.v ...
val main :
?packages:Package.t list ->
?packages_v:Package.t list Key.value ->
?keys:Key.t list ->
?extra_deps:abstract list ->
string ->
'a Type.t ->
'a t
main ... name ty
is v ... ~connect name ty
where connect
is <name>.start <args>
The type for iterators on devices.
val with_left_most_device : Key.context -> _ t -> 'a f_dev -> 'a
with_left_most_device ctx t f
applies f
on the left-most device in f
. If
node are resolved using ctx
.
val simplify : full:bool -> context:Key.context -> abstract -> abstract
simplify ~full ~context impl
simplifies the implementation impl
according to keys present in the context
.
If full
is true
, then the default values of keys are used in their absence. Otherwise, absent keys are left un-simplified.
val eval : context:Key.context -> abstract -> Device.Graph.t
eval ~context impl
fully evaluates the implementation impl
according to keys present in the context
. It returns a graph composed only of devices.
Collections
The description of a vertex