Skip to main content

sim_lib_lang_prolog/
symbols.rs

1use sim_kernel::Symbol;
2
3/// Stable symbol identifying the Prolog surface language profile.
4pub fn prolog_profile_symbol() -> Symbol {
5    Symbol::qualified("lang", "prolog/v1")
6}
7
8/// Stable symbol identifying the expression reader used by this surface.
9pub fn prolog_reader_symbol() -> Symbol {
10    Symbol::qualified("codec", "lisp")
11}
12
13/// Stable symbol identifying the Prolog surface lowering path.
14pub fn prolog_lowering_symbol() -> Symbol {
15    Symbol::qualified("prolog", "surface-expr")
16}
17
18/// Stable symbol identifying the Prolog conformance test.
19pub fn prolog_conformance_test_symbol() -> Symbol {
20    Symbol::qualified("test", "prolog-surface-core")
21}
22
23/// Stable symbol for the Prolog surface fidelity badge.
24pub fn prolog_surface_fidelity_symbol() -> Symbol {
25    Symbol::qualified("standard/fidelity", "prolog-surface-partial")
26}
27
28/// Stable symbol identifying the logic organ used by the Prolog surface.
29pub fn prolog_logic_organ_symbol() -> Symbol {
30    Symbol::qualified("organ", "logic")
31}
32
33/// Stable symbol identifying a Prolog matrix source case.
34pub fn prolog_conformance_case_symbol(name: &str) -> Symbol {
35    Symbol::qualified("test/prolog", name.to_owned())
36}