arachne.core.dsl

User-facing DSL for use in init scripts

component

(component <arachne-id> constructor <dependency-map>)
Low-level form for defining a component. Requires an Arachne ID (optional), the full-qualified name of a
 component constructor function (mandatory), and a map of dependencies (optional).

 For example:

    (component :my/some-component 'my.app/ctor)

 Or:

    (component :my/other-component 'my.app/ctor {:foobar :my/some-component})

Returns the entity ID of the component.

In general, an Arachne ID should always be provided, so the component can be referenced, unless
the `component` form is being nested in another DSL form and its returned eid is captured.

runtime

(runtime id roots)
Defines a named Arachne runtime containing the given root components.

Returns the entity ID of the runtime.

transact

(transact txdata & [tempid])
Update the context configuration with the given txdata. If a tempid is provided as an optional
second argument, then the resolved entity ID will be returned, otherwise nil.