Skip to main content

sim_lib_standard_core/
lib.rs

1#![cfg_attr(not(feature = "native-export"), forbid(unsafe_code))]
2#![cfg_attr(feature = "native-export", deny(unsafe_code))]
3#![deny(missing_docs)]
4//! Standard distribution core for the SIM runtime.
5//!
6//! The kernel defines the capability, claim, codec, and `ExportRecord`
7//! contracts; this crate supplies the standard-distribution behavior:
8//! capabilities, claims, diff, fidelity, the conformance harness, install,
9//! guest-runtime policy kits, language-profile support, the lisp codec surface,
10//! polyglot/profile support, and read/construct.
11
12pub mod cap;
13pub mod claims;
14pub mod diff;
15pub mod fidelity;
16pub mod guest_kit;
17pub mod harness;
18pub mod install;
19pub mod lang_profile;
20pub mod lisp;
21pub mod matrix;
22mod matrix_claims;
23#[cfg(feature = "native-export")]
24mod native;
25pub mod polyglot;
26pub mod profile;
27pub mod read_construct;
28pub mod registry;
29
30pub use cap::{standard_diff_capability, standard_install_capability, standard_test_capability};
31pub use claims::{
32    publish_badge_claims, publish_badge_claims_for_lib, publish_profile_claims,
33    publish_profile_claims_for_lib, standard_capability_predicate, standard_eval_policy_predicate,
34    standard_lowering_predicate, standard_numeric_predicate, standard_reader_predicate,
35    standard_unsupported_predicate,
36};
37pub use diff::{
38    ProfileDiff, ProfileDiffStatus, ProfileDifference, profile_diff_symbol, standard_diff_op_key,
39    standard_diff_stub,
40};
41pub use fidelity::{FidelityBadge, fidelity_badge_class_symbol};
42pub use guest_kit::{Arity, CoercionPolicy, GuestRuntimeKit, TruthPolicy, adjust_values};
43pub use harness::{
44    ConformanceHarness, ConformanceOutcome, ConformanceStatus, ConformanceTestCase,
45    ConformanceTestReport, OrganTestReport, StandardTestReport,
46    standard_reported_fidelity_level_predicate, standard_reported_fidelity_predicate,
47    standard_test_case_predicate, standard_test_op_key, standard_test_organ_predicate,
48    standard_test_profile_predicate, standard_test_result_predicate, standard_test_run_kind,
49    standard_test_status_predicate, standard_test_stub,
50};
51pub use install::{StandardInstallReport, install_profile_stub, standard_install_op_key};
52pub use lang_profile::{
53    FidelityBadgeSpec, ProfileBackingLib, ProfileOrganPublisher, fidelity_badge,
54    install_language_profile, language_profile_lib_symbol,
55};
56pub use lisp::{lisp_stub_symbols, standard_fidelity_symbol, standard_profile_symbol};
57pub use matrix::{
58    ConformanceMatrix, ExprRoundTripCase, ExprRoundTripObservation, LanguageRow,
59    LanguageRowBuilder, MatrixCellKind, MatrixCellResult, MatrixRunReport, MatrixRunner,
60    SourceConformanceCase, SourceConformanceCaseKind, SourceExpectation, SourceObservation,
61    compare_expr_observation, compare_source_observation,
62};
63pub use polyglot::{
64    ProfileFunction, ProfileFunctionBinding, SharedOrganRuntime, profile_function_value,
65};
66pub use profile::{
67    LanguageProfile, OrganUse, language_profile_class_symbol, sim_expression_profile,
68    sim_expression_profile_symbol, standard_binding_organ_symbol, standard_control_organ_symbol,
69    standard_pattern_organ_symbol, standard_sequence_organ_symbol,
70};
71pub use read_construct::{
72    FidelityBadgeValue, LanguageProfileValue, install_standard_core_classes,
73    standard_core_classes_lib_symbol,
74};
75pub use registry::ProfileRegistry;
76
77/// Cookbook recipes for this lib, embedded at build time.
78pub static RECIPES: sim_cookbook::EmbeddedDir =
79    include!(concat!(env!("OUT_DIR"), "/cookbook_recipes.rs"));
80
81#[cfg(test)]
82mod guest_kit_tests;
83#[cfg(test)]
84mod harness_tests;
85#[cfg(test)]
86mod matrix_tests;
87#[cfg(test)]
88mod tests;