pub enum ExprKind {
Var {
name: Ident,
},
Lambda {
param: Ident,
body: Box<Expr>,
erased: bool,
},
App {
fun: Box<Expr>,
args: Vec<Box<Expr>>,
},
Fun {
name: QualifiedIdent,
args: Spine,
},
Ctr {
name: QualifiedIdent,
args: Spine,
},
Let {
name: Ident,
val: Box<Expr>,
next: Box<Expr>,
},
U60 {
numb: u64,
},
F60 {
numb: u64,
},
Str {
val: String,
},
Binary {
op: Operator,
left: Box<Expr>,
right: Box<Expr>,
},
Err,
}
Variants§
Var
Name of a variable
Lambda
A anonymous function that receives one argument
App
Application of a expression to a spine of expressions
Fun
Application of a function
Ctr
Application of a Construtor
Let
Declaration of a local variable
U60
60 bit unsigned integer
F60
60 bit floating point number
Str
Very special constructor :)
Binary
Binary operation (e.g. 2 + 3)
Err
Trait Implementations§
impl Eq for ExprKind
impl StructuralPartialEq for ExprKind
Auto Trait Implementations§
impl Freeze for ExprKind
impl RefUnwindSafe for ExprKind
impl Send for ExprKind
impl Sync for ExprKind
impl Unpin for ExprKind
impl UnwindSafe for ExprKind
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