pub enum ErasedExpr {
Var(String),
BVar(u32),
Lam(Box<ErasedExpr>),
App(Box<ErasedExpr>, Box<ErasedExpr>),
Let(Box<ErasedExpr>, Box<ErasedExpr>),
Const(String),
Lit(u64),
StrLit(String),
TypeErased,
}Expand description
A kernel expression with type information erased.
Variants§
Var(String)
Erased free variable.
BVar(u32)
Bound variable (de Bruijn index).
Lam(Box<ErasedExpr>)
Lambda without type annotation.
App(Box<ErasedExpr>, Box<ErasedExpr>)
Application.
Let(Box<ErasedExpr>, Box<ErasedExpr>)
Let binding without type.
Const(String)
Global constant reference.
Lit(u64)
Literal natural number.
StrLit(String)
String literal.
TypeErased
Placeholder for erased types (sorts, pi-types, etc.).
Trait Implementations§
Source§impl Clone for ErasedExpr
impl Clone for ErasedExpr
Source§fn clone(&self) -> ErasedExpr
fn clone(&self) -> ErasedExpr
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ErasedExpr
impl Debug for ErasedExpr
Source§impl PartialEq for ErasedExpr
impl PartialEq for ErasedExpr
impl Eq for ErasedExpr
impl StructuralPartialEq for ErasedExpr
Auto Trait Implementations§
impl Freeze for ErasedExpr
impl RefUnwindSafe for ErasedExpr
impl Send for ErasedExpr
impl Sync for ErasedExpr
impl Unpin for ErasedExpr
impl UnsafeUnpin for ErasedExpr
impl UnwindSafe for ErasedExpr
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