Module stack

Source

Structs§

ArgSlice 🔒
Type representing a slice of arguments on the stack. Used to avoid allocations and copies when calling functions.
ByteFrame 🔒
CallFrame 🔒
A function call Frame.
Frame 🔒
A function call frame. These mirror the lisp call stack and are used to display backtraces as well as return.
FrameStore 🔒
LispStack 🔒
The stack of lisp objects used to pass and store arguments in the bytecode VM and interpreter. The top of the stack is index 0 and all indexing functions operate from top to bottom. The stack is partitioned into frames. Each frame represents a function call and it’s arguments. The API is designed so that code cannot access elements outside of their frame (doing so results in a panic). Frames are added and removed with push_frame and pop_frame respectively.
RootedByteFrame 🔒
Automatically derived from ByteFrame via #[derive(Trace)]
RootedFrameStore 🔒
Automatically derived from FrameStore via #[derive(Trace)]
RootedLispStack 🔒
Automatically derived from LispStack via #[derive(Trace)]

Constants§

derive_trace_ByteFrame 🔒
derive_trace_FrameStore 🔒
derive_trace_LispStack 🔒