Skip to main content

harn_vm/value/
mod.rs

1mod build;
2mod core;
3mod env;
4mod error;
5mod handles;
6pub(crate) mod recursion;
7mod set;
8mod storage_json;
9mod structural;
10
11pub type VmMutex<T> = parking_lot::Mutex<T>;
12
13pub use build::{DictRetain, VmDictExt};
14pub use core::{
15    intern_key, string_char_count, struct_fields_to_map, DictMap, HarnStr, StructInstanceData,
16    StructLayout, VmAsyncBuiltinFn, VmBuiltinFn, VmBuiltinRefId, VmEnumVariant, VmValue,
17};
18pub(crate) use env::Binding;
19pub use env::{
20    closest_match, LazyVmCallable, ModuleFunctionRegistry, ModuleState, VmCallable, VmClosure,
21    VmEnv,
22};
23pub use error::{
24    categorized_error, classify_error_message, error_to_category, ArgTypeMismatchError,
25    ArityExpect, ArityMismatchError, DeadlockError, ErrorCategory, VmError,
26};
27pub use handles::{
28    VmAtomicHandle, VmChannelCloseState, VmChannelHandle, VmGenerator, VmJoinHandle, VmRange,
29    VmRngHandle, VmStream, VmStreamCancel, VmSyncPermitHandle, VmTaskHandle,
30};
31pub use set::VmSet;
32pub(crate) use storage_json::vm_to_storage_json;
33pub use structural::{
34    compare_values, dedup_values, try_compare_values, value_identity_key,
35    value_structural_hash_key, values_equal, values_identical,
36};
37
38#[cfg(test)]
39mod tests;