pr47/
lib.rs

1//! # Pr47(Project-47): A semi-experimental embeddable programming language for Rust
2//!
3//! ## ⚠⚠⚠ Develop stage note ⚠⚠⚠
4//! By this time the author doesn't know which APIs are necessary for user to write low-level,
5//! direct FFI bindings, nor does the author know which APIs are necessary for user to tweak the
6//! VM runtime. So we are making as many things public as possible. This situation may change in the
7//! future so watch your back.
8
9pub mod builtins;
10pub mod data;
11pub mod ffi;
12pub mod util;
13pub mod vm;
14
15#[cfg(feature = "compiler")] pub mod diag;
16#[cfg(feature = "compiler")] pub mod parse;
17#[cfg(feature = "compiler")] pub mod syntax;
18#[cfg(feature = "compiler")] pub mod sema;
19#[cfg(feature = "std47")] pub mod std47;
20
21#[cfg(all(feature = "compiler-pretty-diag", not(feature = "compiler")))]
22compile_error!("using `compiler-pretty-diag` without `compiler` is meaningless");
23
24#[cfg(all(feature = "async-astd", feature = "async-tokio"))]
25compile_error!("features `async-astd` and `async-tokio` are mutually exclusive");
26
27#[cfg(test)]
28#[macro_use] extern crate variant_count;