pub enum SimplifiedExpr {
Var(String),
App(Box<SimplifiedExpr>, Box<SimplifiedExpr>),
Lambda(String, Box<SimplifiedExpr>),
Pi(String, Box<SimplifiedExpr>, Box<SimplifiedExpr>),
}Expand description
Simplified Expr representation for hashing (mirrors actual Expr).
Used for caching purposes with a streamlined structure suitable for hashing.
Variants§
Var(String)
A variable reference with the given name.
App(Box<SimplifiedExpr>, Box<SimplifiedExpr>)
Function application: function and argument.
Lambda(String, Box<SimplifiedExpr>)
Lambda abstraction: parameter name and body.
Pi(String, Box<SimplifiedExpr>, Box<SimplifiedExpr>)
Pi type: parameter name, parameter type, and body type.
Implementations§
Trait Implementations§
Source§impl Clone for SimplifiedExpr
impl Clone for SimplifiedExpr
Source§impl Debug for SimplifiedExpr
impl Debug for SimplifiedExpr
impl Eq for SimplifiedExpr
Source§impl PartialEq for SimplifiedExpr
impl PartialEq for SimplifiedExpr
impl StructuralPartialEq for SimplifiedExpr
Auto Trait Implementations§
impl Forget for SimplifiedExpr
impl Freeze for SimplifiedExpr
impl Move for SimplifiedExpr
impl RefUnwindSafe for SimplifiedExpr
impl Send for SimplifiedExpr
impl Sync for SimplifiedExpr
impl Unpin for SimplifiedExpr
impl UnsafeUnpin for SimplifiedExpr
impl UnwindSafe for SimplifiedExpr
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