Skip to main content

rexlang_core/
lib.rs

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, Engine, EngineError,
9    EngineOptions, Export, FromPointer, Handler, Heap, IntoPointer, Library, NativeFuture,
10    PRELUDE_LIBRARY_NAME, Pointer, PreludeMode, ROOT_LIBRARY_NAME, ReplState, RexAdt, RexDefault,
11    RexType, SyncNativeCallable, Value, ValueDisplayOptions, assert_pointer_eq, closure_debug,
12    closure_eq, collect_adts_error_to_engine, pointer_display, pointer_display_with, value_debug,
13    value_eq, virtual_export_name,
14};
15pub use rexlang_lexer::Token;
16pub use rexlang_parser::{Parser, ParserLimits, error::ParserErr};
17pub use rexlang_proc_macro::Rex;
18pub use rexlang_typesystem::{
19    AdtConflict, AdtDecl, BuiltinTypeId, CollectAdtsError, Instance, Predicate, Scheme, Type,
20    TypeError, TypeKind, TypeSystem, TypeVarSupply, collect_adts_in_types,
21    prelude_typeclasses_program,
22};
23pub use rexlang_util::{GasCosts, GasMeter};
24
25pub use crate::json::{EnumPatch, JsonOptions, json_to_rex, rex_to_json};