Skip to main content

panproto_core/
lib.rs

1//! # panproto-core
2//!
3//! Core re-export facade for panproto.
4//!
5//! This crate provides a single, convenient entry point for consumers
6//! by re-exporting the public APIs of all panproto sub-crates.
7
8/// Re-export of `panproto-check` for validation and axiom checking.
9pub use panproto_check as check;
10/// Re-export of `panproto-gat` for GAT (generalized algebraic theory) types.
11pub use panproto_gat as gat;
12/// Re-export of `panproto-inst` for instance representations.
13pub use panproto_inst as inst;
14/// Re-export of `panproto-io` for instance-level parse/emit across all protocols.
15pub use panproto_io as io;
16/// Re-export of `panproto-lens` for bidirectional lenses and protolenses.
17pub use panproto_lens as lens;
18/// Re-export of `panproto-mig` for migration and lifting operations.
19pub use panproto_mig as mig;
20/// Re-export of `panproto-protocols` for built-in protocol definitions.
21pub use panproto_protocols as protocols;
22/// Re-export of `panproto-schema` for schema types and builders.
23pub use panproto_schema as schema;
24/// Re-export of `panproto-vcs` for schematic version control.
25pub use panproto_vcs as vcs;
26
27// -- Feature-gated cospan-support crates --
28
29/// Re-export of `panproto-parse` for full-AST tree-sitter parsing (10 languages).
30#[cfg(feature = "full-parse")]
31pub use panproto_parse as parse;
32
33/// Re-export of `panproto-project` for multi-file project assembly via coproduct.
34#[cfg(feature = "project")]
35pub use panproto_project as project;
36
37/// Re-export of `panproto-git` for bidirectional git ↔ panproto-vcs translation.
38#[cfg(feature = "git")]
39pub use panproto_git as git;
40
41/// Re-export of `panproto-llvm` for LLVM IR protocol and lowering morphisms.
42#[cfg(feature = "llvm")]
43pub use panproto_llvm as llvm;
44
45/// Re-export of `panproto-jit` for LLVM JIT compilation of expressions.
46#[cfg(feature = "jit")]
47pub use panproto_jit as jit;