#![cfg_attr(docsrs, feature(doc_cfg))]
#![doc = include_str!("../README.md")]
pub use logicaffeine_base::{Arena, Interner, Symbol, SymbolEq};
pub use logicaffeine_language::{
ast, drs, error, lexer, optimization, parser, token,
analysis::{TypeRegistry, DiscoveryPass, PolicyRegistry, PolicyCondition},
arena_ctx::AstContext,
registry::SymbolRegistry,
formatter,
mwe,
Lexer, Parser, ParseError,
};
pub use logicaffeine_kernel as kernel;
pub mod loader;
pub use loader::{Loader, ModuleSource};
pub mod analysis;
pub mod concurrency;
#[cfg(feature = "codegen")]
pub mod codegen;
#[cfg(feature = "codegen")]
pub(crate) mod loop_shape;
#[cfg(feature = "codegen")]
pub mod codegen_c;
pub mod codegen_sva;
pub mod compile;
pub use compile::{CompileOutput, CrateDependency, classify_source, compile_program_full, compile_program_full_deterministic, compile_program_full_with_proven, compile_to_rust, compile_to_rust_deterministic, compile_to_rust_with_proven, first_parallel_block_independent, send_check_source};
pub mod diagnostic;
pub mod sourcemap;
pub mod extraction;
pub mod optimize;
pub mod interpreter;
pub(crate) mod tail_call;
pub(crate) mod resolve_division;
pub mod semantics;
pub mod vm;
pub mod debug;
pub mod ui_bridge;
pub mod repl;
pub use repl::{ReplOutcome, ReplSession};
#[cfg(feature = "verification")]
pub mod defeasible;
#[cfg(feature = "verification")]
pub mod verification;
#[cfg(feature = "verification")]
pub use verification::VerificationPass;
pub use ui_bridge::{
answer_question, compile_for_ui, compile_for_proof, compile_theorem_for_ui,
grounded_grid_problem, solve_grid, SolvedGrid, GridColumn,
prove_theorem_trace, theorem_proof_exprs, theorem_dependency_graph, verify_theorem, TheoremTrace,
interpret_for_ui, interpret_for_ui_with_args, interpret_for_ui_sync,
interpret_for_ui_sync_with_args, interpret_for_ui_baseline,
interpret_for_ui_baseline_with_args, interpret_for_ui_baseline_sync_with_args,
interpret_streaming, interpret_streaming_with_vfs, interpret_streaming_with_vfs_observer,
ObserverCallback, run_vm_concurrent, run_vm_net_async,
run_vm_concurrent_seeded, run_treewalker_concurrent_seeded,
CompileResult, ProofCompileResult,
TheoremCompileResult, AstNode, TokenInfo, TokenCategory,
extract_math_rust, extract_math_rust_from_source, extract_logic_rust, parse_math_statements,
extract_math_module, extract_math_module_from_source, extract_logic_module, partition_mixed,
};
#[cfg(not(target_arch = "wasm32"))]
pub use ui_bridge::run_vm_workstealing_seeded;
#[cfg(feature = "codegen")]
pub use ui_bridge::{generate_rust_code, generate_rust_code_with_proven};
#[cfg(feature = "verification")]
pub use ui_bridge::{
check_theorem_defeasible, check_theorem_defeasible_consistent,
check_theorem_premises_consistent, check_theorem_smt,
};
pub mod intern {
pub use logicaffeine_base::{Interner, Symbol, SymbolEq};
}
pub mod arena {
pub use logicaffeine_base::Arena;
}
pub mod arena_ctx {
pub use logicaffeine_language::arena_ctx::*;
}
pub mod registry {
pub use logicaffeine_language::registry::*;
}
pub mod style {
pub use logicaffeine_language::style::*;
}