Expand description
The method catalog schema and the Praxis prelude (§16).
The single source of truth for what built-in methods exist, what their types are, and how they lower to runtime symbols or intrinsics. Per the design’s hard rule (§20, rule 3: “never duplicate type or method knowledge between compiler and LSP”), the type checker, HIR lowering, code generator, documentation generator, and language-server completion all consume this catalog. So the schema has to carry everything each of those consumers needs in one place (§16.2).
Re-exports§
pub use builtins::builtin_catalog;pub use capability::CapKind;pub use catalog::MethodCatalog;pub use catalog::MethodCatalogError;pub use catalog::MethodEntry;pub use catalog::MethodLowering;pub use catalog::Purity;pub use completion::CompletionItem;pub use completion::completion_data;pub use prelude::BUILTIN_TYPES;pub use prelude::GRAPH_HELPERS;pub use prelude::GraphHelper;pub use prelude::GraphParam;pub use prelude::GraphResult;pub use prelude::NUMERIC_HELPERS;pub use prelude::NumericHelper;pub use prelude::PRELUDE;pub use prelude::SIZED_CTORS;pub use prelude::SizedCtor;pub use prelude::TypeEntry;pub use prelude::graph_helper;pub use prelude::numeric_helper;pub use prelude::prelude_doc;pub use prelude::sized_ctor;pub use prelude::type_doc;pub use type_pattern::Bound;pub use type_pattern::CollectionCtor;pub use type_pattern::PIPELINE_RECEIVERS;pub use type_pattern::TypePattern;pub use type_pattern::is_pipeline_receiver;pub use type_pattern::pattern_matches;
Modules§
- abi
- The runtime ABI manifest: one row per
praxis_*symbol the JIT can call. - builtins
- The built-in method catalog (§16.2): one structured table of every built-in method.
- capability
- The capability vocabulary (§5.4): the payload-free names of the structural properties the compiler decides about a type.
- catalog
- The method catalog (§16.2): one structured table of built-in methods, consumed by every part of the compiler and the LSP.
- completion
- Completion-data generation from the method catalog (§19.8).
- prelude
- The Praxis prelude (§16.1): symbols automatically available in every
program, with no
userequired. - type_
pattern - Schema-level type patterns used to describe receivers, parameters, and results in the method catalog (§16.2).