Compile audience segment definitions into execution plans. Partitions filters into SQL-evaluable and predicate-evaluable phases.
Compile audience segment definitions into execution plans. Partitions filters into SQL-evaluable and predicate-evaluable phases.
AND/OR/NOT composition of audience segment result sets. FC/IS rule: pure functions only — no I/O, no side effects.
Well-formedness (unknown operator, NOT-inside-OR, circular/unknown/invalid
segment refs) is checked up front by explain-composition; the shell
validates a composition tree before evaluating it and raises the typed error
at the HTTP boundary. The evaluation functions below therefore assume a valid
tree and never throw — their error branches fail safe (an empty result set,
and the cycle guard still terminates).
AND/OR/NOT composition of audience segment result sets. FC/IS rule: pure functions only — no I/O, no side effects. Well-formedness (unknown operator, NOT-inside-OR, circular/unknown/invalid segment refs) is checked up front by `explain-composition`; the shell validates a composition tree before evaluating it and raises the typed error at the HTTP boundary. The evaluation functions below therefore assume a valid tree and never throw — their error branches fail safe (an empty result set, and the cycle guard still terminates).
Filter multimethods for audience segment evaluation. FC/IS rule: pure functions only — no I/O, no side effects, no logging.
Validity is checked up front by explain-filter (pure, returns an anomaly
map or nil). The shell validates a segment's filters before compilation and
raises the typed error at the HTTP boundary, so the multimethods below assume
a known filter type and a supported operator and never throw — their unknown
branches fail safe (nil / a false predicate).
Filter multimethods for audience segment evaluation. FC/IS rule: pure functions only — no I/O, no side effects, no logging. Validity is checked up front by `explain-filter` (pure, returns an anomaly map or nil). The shell validates a segment's filters before compilation and raises the typed error at the HTTP boundary, so the multimethods below assume a known filter type and a supported operator and never throw — their unknown branches fail safe (nil / a false predicate).
Pure Hiccup UI components for audience segments. No I/O, no side effects.
Pure Hiccup UI components for audience segments. No I/O, no side effects.
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 |