Expand description
Example typed domains authored as Lisp forms.
Each type in this crate derives TataraDomain, which auto-generates the
Lisp → Rust compile function. Binaries that want to accept these domains
via Lisp call tatara_domains::register_all() at startup, after which
tatara_lisp::domain::lookup(keyword) resolves any registered form.
Modules§
Structs§
- Alert
Policy Spec - Composite alerting policy — exercises every derive kind at once:
- Escalation
Step - An escalation step — nested struct referenced inside
AlertPolicySpec. In Lisp:(:notify-ref "oncall" :wait-minutes 5 :severity Page). - Monitor
Spec - A Prometheus-style alert monitor — the canonical tiny demo domain.
- Notify
Spec - A notification config — proves multiple types coexist in the registry.
Enums§
- Severity
- A standalone enum — proves the derive’s serde-Deserialize fallthrough.
In Lisp this appears as a bare symbol:
:severity High.
Functions§
- register_
all - Register every domain in this crate with the global dispatcher.
Call once per binary, typically near the top of
main.