pub use polydat_grammar::{
ast, error, lexer, parser, pprint, pragmas, refs, tile, tile_structural,
};
pub mod compile;
pub mod const_constraints;
pub mod cursor_sugar;
pub mod events;
pub mod factories;
pub mod factory;
pub mod registry;
pub mod tile_lower;
pub mod transform;
pub mod traversal;
pub(crate) mod validate;
pub mod stub;
pub use factory::ConstArg;
mod binding;
mod modules;
pub use compile::{
CompileOptions, InputVariance, compile_ast_interpreter_with_options, compile_ast_with_engine,
compile_polydat, compile_polydat_checked, compile_polydat_interpreter,
compile_polydat_interpreter_with_options, compile_polydat_kernel,
compile_polydat_kernel_with_options, compile_polydat_with, compile_polydat_with_engine,
eval_const_expr, parse_polydat, parse_polydat_with_tile_defaults,
};
pub fn collect_expr_references(expr: &ast::Expr, out: &mut std::collections::HashSet<String>) {
validate::collect_references(expr, out);
}
pub fn stdlib_sources() -> &'static [(&'static str, &'static str)] {
compile::stdlib_sources()
}