Skip to main content

bock_interp/
lib.rs

1// Value has interior mutability (Rc<RefCell<IteratorKind>>) but iterator
2// values are never used as map/set keys (ordering panics at runtime).
3#![allow(clippy::mutable_key_type)]
4//! Bock interp — tree-walking interpreter for executing Bock AIR programs
5
6pub mod builtins;
7pub mod env;
8pub mod error;
9pub mod interp;
10pub mod pattern;
11pub mod value;
12
13pub use builtins::{
14    BuiltinFn, BuiltinRegistry, CallbackInvoker, HigherOrderBuiltinFn, NoOpInvoker, TypeTag,
15};
16pub use env::{EffectStack, Environment};
17pub use error::RuntimeError;
18pub use interp::Interpreter;
19pub use pattern::match_pattern;
20pub use value::{
21    BockString, ChannelHandle, EnumValue, FnValue, FutureHandle, IteratorKind, IteratorNext,
22    IteratorValue, OrdF64, RecordValue, Value,
23};