tvl-depot/tvix/eval/src/lib.rs
Vincent Ambo 25c62dd0ef refactor(tvix/eval): introduce UpvalueCarrier trait
This trait abstracts over the commonalities of upvalue handling
between closures and thunks.

It allows the VM to simplify the code used for setting up upvalues,
without duplicating between the two different types.

Note that this does not yet refactor the VM code to optimally make use
of this.

Change-Id: If8de5181f26ae1fa00d554f1ae6ea473ee4b6070
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6347
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-09-06 14:58:52 +00:00

20 lines
294 B
Rust

mod builtins;
mod chunk;
mod compiler;
mod errors;
mod eval;
mod opcode;
mod upvalues;
mod value;
mod vm;
mod warnings;
#[cfg(feature = "disassembler")]
mod disassembler;
#[cfg(test)]
mod tests;
pub use crate::errors::EvalResult;
pub use crate::eval::interpret;
pub use crate::value::Value;