pub enum ENode {
Lit(i64),
Var(i64),
Name(String),
App {
func: usize,
arg: usize,
},
}Expand description
Node in the E-graph representing a term.
Terms are represented in a curried style where function application
is a binary node. For example, f(x, y) is App(App(f, x), y).
Variants§
Lit(i64)
Integer literal from SLit.
Var(i64)
De Bruijn variable from SVar.
Name(String)
Named constant or function symbol from SName.
App
Function application (curried): func applied to arg.
Trait Implementations§
impl Eq for ENode
impl StructuralPartialEq for ENode
Auto Trait Implementations§
impl Freeze for ENode
impl RefUnwindSafe for ENode
impl Send for ENode
impl Sync for ENode
impl Unpin for ENode
impl UnwindSafe for ENode
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