Skip to main content

sim_lib_lang_clojure/
symbols.rs

1use sim_kernel::Symbol;
2
3/// Stable symbol identifying the Clojure-core language profile.
4pub fn clojure_core_profile_symbol() -> Symbol {
5    Symbol::qualified("lang", "clojure-core/v1")
6}
7
8/// Stable symbol under which the EDN reader codec is registered.
9pub fn clojure_edn_reader_symbol() -> Symbol {
10    Symbol::qualified("codec", "clojure-edn")
11}
12
13/// Stable symbol identifying the Clojure-core lowering pass.
14pub fn clojure_lowering_symbol() -> Symbol {
15    Symbol::qualified("clojure", "lowering-core")
16}
17
18/// Stable symbol identifying the Clojure-core organ conformance test.
19pub fn clojure_conformance_test_symbol() -> Symbol {
20    Symbol::qualified("test", "clojure-core-organs")
21}
22
23/// Stable symbol for the sequence-organ fidelity badge of this profile.
24pub fn clojure_sequence_fidelity_symbol() -> Symbol {
25    Symbol::qualified("standard/fidelity", "clojure-sequence-organ")
26}
27
28/// Stable symbol for the namespace-organ fidelity badge of this profile.
29pub fn clojure_namespace_fidelity_symbol() -> Symbol {
30    Symbol::qualified("standard/fidelity", "clojure-namespace-organ")
31}
32
33/// Stable symbol for the control-organ fidelity badge of this profile.
34pub fn clojure_control_fidelity_symbol() -> Symbol {
35    Symbol::qualified("standard/fidelity", "clojure-control-organ")
36}
37
38/// Stable symbol naming the generated `clojure.core` namespace.
39pub fn clojure_core_namespace_symbol() -> Symbol {
40    Symbol::qualified("clojure", "core")
41}
42
43/// Stable symbol naming the control prompt used by `loop`/`recur`.
44pub fn clojure_recur_prompt_symbol() -> Symbol {
45    Symbol::qualified("clojure", "loop-recur")
46}