Re-exports§
pub use patch_seq_drop_op as drop_op;pub use patch_seq_dup as dup;pub use patch_seq_nip as nip;pub use patch_seq_over as over;pub use patch_seq_pick_op as pick_op;pub use patch_seq_push_value as push_value;pub use patch_seq_roll as roll;pub use patch_seq_rot as rot;pub use patch_seq_swap as swap;pub use patch_seq_tuck as tuck;
Structs§
- Stack
Node - StackNode: Implementation detail of the stack
Functions§
- clone_
stack ⚠ - Clone a stack - creates a deep copy of all values
- drop⚠
- Drop the top value from the stack: ( a – )
- is_
empty - Check if the stack is empty
- patch_
seq_ ⚠drop_ op - Alias for drop to avoid LLVM keyword conflicts
- patch_
seq_ ⚠dup - Duplicate the top value on the stack: ( a – a a )
- patch_
seq_ ⚠nip - Remove the second value: ( a b – b )
- patch_
seq_ ⚠over - Copy the second value to the top: ( a b – a b a )
- patch_
seq_ ⚠pick_ op - Pick operation exposed to compiler
- patch_
seq_ ⚠push_ value - Push an arbitrary Value onto the stack (for LLVM codegen)
- patch_
seq_ ⚠roll - Roll: Rotate n+1 items, bringing the item at depth n to the top ( x_n x_(n-1) … x_1 x_0 n – x_(n-1) … x_1 x_0 x_n )
- patch_
seq_ ⚠rot - Rotate the top three values: ( a b c – b c a )
- patch_
seq_ ⚠swap - Swap the top two values: ( a b – b a )
- patch_
seq_ ⚠tuck - Copy top value below second value: ( a b – b a b )
- peek⚠
- Peek at the top value without removing it
- pick⚠
- Pick: Copy the nth value to the top (0-indexed from top) ( … xn … x1 x0 n – … xn … x1 x0 xn )
- pop⚠
- Pop a value from the stack
- pop_two⚠
- Pop two values from the stack (for binary operations)
- push⚠
- Push a value onto the stack
Type Aliases§
- Stack
- Stack: A pointer to the top of the stack