#![cfg_attr(coverage_nightly, feature(coverage_attribute))]
pub use plotnik_core::colors;
pub use plotnik_bytecode as bytecode;
pub use plotnik_bytecode::type_system;
pub use plotnik_compiler::analyze;
pub use plotnik_compiler::compile;
pub use plotnik_compiler::diagnostics;
pub use plotnik_compiler::emit;
pub use plotnik_compiler::parser;
pub use plotnik_compiler::query;
pub use plotnik_compiler::typegen;
pub use plotnik_vm::engine;
pub use plotnik_core::Colors;
pub use plotnik_compiler::{
Diagnostics, DiagnosticsPrinter, Error, PassResult, Result, Severity, Span,
};
pub use plotnik_compiler::{Query, QueryBuilder, SourceId, SourceMap};
pub use plotnik_vm::{
EffectLog, FuelLimits, Materializer, NodeHandle, PrintTracer, RuntimeEffect, RuntimeError,
Tracer, VM, Value, ValueMaterializer, Verbosity, debug_verify_type,
};
#[macro_export]
macro_rules! include_query_aligned {
($path:expr) => {{
#[repr(C, align(64))]
struct Aligned<const N: usize>([u8; N]);
const BYTES: &[u8] = include_bytes!($path);
static ALIGNED: Aligned<{ BYTES.len() }> = Aligned(*BYTES);
ALIGNED.0.as_slice()
}};
}