Implementation of the defrule-style DSL for Clara. Most users should simply use the clara.rules namespace.
Implementation of the defrule-style DSL for Clara. Most users should simply use the clara.rules namespace.
(add-allowed-ns-props! & props)
Adds the given properties to the set of allowed properties for rules and queries.
Adds the given properties to the set of allowed properties for rules and queries.
(build-query name body env form-meta)
Function used to parse and build a query using the DSL syntax.
Function used to parse and build a query using the DSL syntax.
(build-rule name body rule-env rule-meta & {:as extra-properties})
Function used to parse and build a rule using the DSL syntax.
Function used to parse and build a rule using the DSL syntax.
(build-rule-action name body rule-env rule-meta)
Function used to parse and build a rule action using the DSL syntax.
Function used to parse and build a rule action using the DSL syntax.
(get-ns-props ns)
Returns a map of namespace properties for rules and queries, or nil if none are found.
Returns a map of namespace properties for rules and queries, or nil if none are found.
(parse-query params lhs)
Macro used to dynamically create a new rule using the DSL syntax.
Macro used to dynamically create a new rule using the DSL syntax.
(parse-query* params lhs query-env query-meta)
Creates a query from the DSL syntax using the given environment map.
Creates a query from the DSL syntax using the given environment map.
(parse-rule lhs rhs)
(parse-rule lhs rhs properties)
Macro used to dynamically create a new rule using the DSL syntax.
Macro used to dynamically create a new rule using the DSL syntax.
(parse-rule* lhs rhs properties rule-env rule-meta)
Creates a rule from the DSL syntax using the given environment map. ns should be bound to the namespace the rule is meant to be defined in.
Creates a rule from the DSL syntax using the given environment map. *ns* should be bound to the namespace the rule is meant to be defined in.
(parse-rule-action* lhs rhs properties rule-env rule-meta)
Creates a rule action from the DSL syntax using the given environment map. ns should be bound to the namespace the rule is meant to be defined in.
Creates a rule action from the DSL syntax using the given environment map. *ns* should be bound to the namespace the rule is meant to be defined in.
(set-allowed-ns-props! & props)
Sets the allowed properties for rules and queries to the given set of properties.
Sets the allowed properties for rules and queries to the given set of properties.
(split-lhs-rhs rule-body)
Given a rule with the =>, splits the left- and right-hand sides.
Given a rule with the =>, splits the left- and right-hand sides.
cljdoc builds & hosts documentation for Clojure/Script libraries
Ctrl+k | Jump to recent docs |
← | Move to previous article |
→ | Move to next article |
Ctrl+/ | Jump to the search field |