Skip to main content

sim_lib_lang_scheme/
symbols.rs

1use sim_kernel::Symbol;
2
3/// Stable identity symbol for the R7RS-small language profile.
4pub fn r7rs_small_profile_symbol() -> Symbol {
5    Symbol::qualified("lang", "scheme-r7rs-small/v1")
6}
7
8/// Codec symbol naming the Scheme surface reader.
9pub fn scheme_reader_symbol() -> Symbol {
10    Symbol::qualified("codec", "scheme-r7rs-small")
11}
12
13/// Symbol naming the Scheme surface-to-`Expr` lowering pass.
14pub fn scheme_lowering_symbol() -> Symbol {
15    Symbol::qualified("scheme", "lower-r7rs-small")
16}
17
18/// Symbol naming the profile's conformance test.
19pub fn scheme_conformance_test_symbol() -> Symbol {
20    Symbol::qualified("test", "scheme-r7rs-small-core")
21}
22
23/// Card-kind symbol tagging published Scheme base-library exports.
24pub fn scheme_base_export_kind_symbol() -> Symbol {
25    Symbol::qualified("scheme", "base-export")
26}
27
28/// Builds a `scheme`-qualified symbol for the given surface name.
29pub fn scheme_symbol(name: &str) -> Symbol {
30    Symbol::qualified("scheme", name.to_owned())
31}