1#![forbid(unsafe_code)]
2#![cfg_attr(not(test), deny(clippy::unwrap_used, clippy::expect_used))]
3
4pub mod json;
5
6pub use rexlang_ast::expr::{Decl, Expr, Program, Symbol, intern, sym};
7pub use rexlang_engine::{
8 AsyncHandler, AsyncNativeCallable, AsyncNativeCallableCancellable, ClassMethodCapability,
9 ClassMethodRequirement, CompileError, CompiledExterns, CompiledProgram,
10 CompiledProgramBoundary, Compiler, Engine, EngineError, EngineOptions, EvalError, Evaluator,
11 EvaluatorRef, ExecutionError, Export, FromPointer, Handler, Heap, IntoPointer, Library,
12 NativeCapability, NativeFuture, NativeRequirement, PRELUDE_LIBRARY_NAME, Pointer, PreludeMode,
13 ROOT_LIBRARY_NAME, ReplState, RexAdt, RexDefault, RexType, RuntimeCapabilities,
14 RuntimeCompatibility, RuntimeEnv, RuntimeEnvBoundary, RuntimeLinkContract, SyncNativeCallable,
15 Value, ValueDisplayOptions, assert_pointer_eq, closure_debug, closure_eq,
16 collect_adts_error_to_engine, pointer_display, pointer_display_with, value_debug, value_eq,
17 virtual_export_name,
18};
19pub use rexlang_lexer::Token;
20pub use rexlang_parser::{Parser, ParserLimits, error::ParserErr};
21pub use rexlang_proc_macro::Rex;
22pub use rexlang_typesystem::{
23 AdtConflict, AdtDecl, BuiltinTypeId, CollectAdtsError, Instance, Predicate, Scheme, Type,
24 TypeError, TypeKind, TypeSystem, TypeVarSupply, collect_adts_in_types,
25 prelude_typeclasses_program,
26};
27pub use rexlang_util::{GasCosts, GasMeter};
28
29pub use crate::json::{EnumPatch, JsonOptions, json_to_rex, rex_to_json};