pub struct Expr {
pub data: ExprKind,
pub range: Range,
}
Fields§
§data: ExprKind
§range: Range
Implementations§
Source§impl Expr
impl Expr
pub fn var(name: Ident) -> Box<Expr>
pub fn all( range: Range, param: Ident, typ: Box<Expr>, body: Box<Expr>, erased: bool, ) -> Box<Expr>
pub fn sub( range: Range, name: Ident, indx: usize, redx: usize, expr: Box<Expr>, ) -> Box<Expr>
pub fn lambda( range: Range, param: Ident, body: Box<Expr>, erased: bool, ) -> Box<Expr>
pub fn identity_lambda(ident: Ident) -> Box<Expr>
pub fn unfold_lambda( irrelev: &[bool], idents: &[Ident], body: Box<Expr>, ) -> Box<Expr>
pub fn unfold_all( irrelev: &[bool], idents: &[(Ident, Box<Expr>)], body: Box<Expr>, ) -> Box<Expr>
pub fn app(range: Range, fun: Box<Expr>, args: Vec<AppBinding>) -> Box<Expr>
pub fn fun( range: Range, name: QualifiedIdent, args: Vec<Box<Expr>>, ) -> Box<Expr>
pub fn ctr( range: Range, name: QualifiedIdent, args: Vec<Box<Expr>>, ) -> Box<Expr>
pub fn let_( range: Range, name: Ident, val: Box<Expr>, next: Box<Expr>, ) -> Box<Expr>
pub fn ann(range: Range, expr: Box<Expr>, typ: Box<Expr>) -> Box<Expr>
pub fn typ(range: Range) -> Box<Expr>
pub fn type_u60(range: Range) -> Box<Expr>
pub fn type_f60(range: Range) -> Box<Expr>
pub fn num_u60(range: Range, numb: u64) -> Box<Expr>
pub fn num_u120(range: Range, numb: u128) -> Box<Expr>
pub fn num_f60(range: Range, numb: u64) -> Box<Expr>
pub fn binary( range: Range, op: Operator, left: Box<Expr>, right: Box<Expr>, ) -> Box<Expr>
pub fn hole(range: Range, num: u64) -> Box<Expr>
pub fn str(range: Range, val: String) -> Box<Expr>
pub fn hlp(range: Range, hlp: Ident) -> Box<Expr>
pub fn err(range: Range) -> Box<Expr>
Trait Implementations§
impl Eq for Expr
impl StructuralPartialEq for Expr
Auto Trait Implementations§
impl Freeze for Expr
impl RefUnwindSafe for Expr
impl Send for Expr
impl Sync for Expr
impl Unpin for Expr
impl UnwindSafe for Expr
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