extern crate self as tatara_lisp;
pub mod ast;
pub mod compile;
pub mod compiler_spec;
pub mod domain;
pub mod env;
pub mod error;
pub mod macro_expand;
pub mod reader;
pub mod span;
pub mod spanned;
pub mod spanned_expand;
#[cfg(feature = "iac-forge")]
pub mod interop;
pub use compiler_spec::{
load_from_disk, realize_in_memory, realize_to_disk, CompilerSpec, RealizedCompiler,
};
pub use domain::{
assert_tatara_domain_well_formed, AttestHandler, AttestableDomain, ComplianceHandler,
CompliantDomain, DependentDomain,
DepsHandler, DocHandler, DocumentedDomain, DomainHandler, HelpDomain, HelpHandler,
KeywordSexp, LifecycleHandler, LifecycleProtocol, ObservabilityHandler, ObservableDomain,
RenderHandler, RenderableDomain, RolloutStrategy, SchemaHandler, SchematicDomain,
StabilityHandler, StableDomain, TataraDomain, ValidateHandler, ValidatedDomain,
};
pub use tatara_lisp_derive::{KeywordSexp as DeriveKeywordSexp, TataraDomain as DeriveTataraDomain};
pub use ast::{Atom, AtomKind, QuoteForm, Sexp, UnknownAtomKind, UnknownQuoteForm};
pub use compile::{compile_named, compile_named_from_forms, compile_typed, NamedDefinition};
pub use env::Env;
pub use error::{
CompilerSpecIoStage, ExpectedKwargShape, KwargPath, KwargPathKind, LispError, MacroDefHead,
OptionalParamMalformedReason, Result, SexpShape, SexpWitness, StructuralKind,
TemplateInvariantKind, UnknownCompilerSpecIoStage, UnknownExpectedKwargShape,
UnknownKwargPathKind, UnknownMacroDefHead, UnknownSexpShape, UnknownStructuralKind,
UnknownUnquoteForm, UnquoteForm,
};
pub use macro_expand::{Expander, MacroDef, Param};
pub use reader::{read, read_spanned};
pub use span::Span;
pub use spanned::{Spanned, SpannedForm};
pub use spanned_expand::SpannedExpander;