pub enum Proc {
Closure {
name: Option<String>,
formal_args: Vec<String>,
body: Box<List>,
outer_context: EvalContext,
},
Macro {
name: Option<String>,
formal_args: Vec<String>,
body: Box<List>,
},
Native {
name: String,
func: NativeFunc,
},
}Expand description
The enum that represents all procedure variants in the Rusche language.
Variants§
Closure
A user-defied producdure that captures outer environment.
Closures can be created by the lambda form.
Macro
A user-defied producdure that allows the user to define arbitrary functions
that convert certain Lisp forms into different forms before evaluating or compiling them.
Macros can be created by the defmacro form.
Native
A native procedure that is implemented in Rust.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Proc
impl !RefUnwindSafe for Proc
impl !Send for Proc
impl !Sync for Proc
impl Unpin for Proc
impl !UnwindSafe for Proc
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more