Skip to main content

patch_prolog_shared/
lib.rs

1//! plg-shared: types used by both the compiler (codegen) and the runtime
2//! (query parsing / output) — atom interning, term representation, the
3//! operator table, and first-argument indexing keys.
4//!
5//! This crate is linked into every compiled Prolog binary via
6//! `libplg_runtime.a`. It must stay dependency-free and lean.
7
8pub mod atom;
9pub mod builtins;
10pub mod cell;
11pub mod interner;
12pub mod span;
13pub mod stdlib;
14pub mod term;
15
16pub use atom::AtomId;
17pub use builtins::{BUILTINS, BuiltinKind, BuiltinSpec};
18pub use interner::StringInterner;
19pub use span::{FileId, Span, Spanned};
20pub use stdlib::STDLIB_PL;
21pub use term::{Clause, FirstArgKey, Term, VarId};