pub enum ReductionRule {
Beta,
Delta,
Zeta,
Iota,
Proj,
Quot,
NatLit,
StrLit,
None,
}Expand description
Named reduction rules for tracing.
Variants§
Beta
Beta reduction: (λx.body) arg → body[arg/x].
Delta
Delta reduction: unfold a definition.
Zeta
Zeta reduction: let x := v in body → body[v/x].
Iota
Iota reduction: recursor application.
Proj
Projection reduction.
Quot
Quotient reduction.
NatLit
Nat literal operation.
StrLit
String literal operation.
None
No reduction was possible.
Trait Implementations§
Source§impl Clone for ReductionRule
impl Clone for ReductionRule
Source§fn clone(&self) -> ReductionRule
fn clone(&self) -> ReductionRule
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 ReductionRule
impl Debug for ReductionRule
Source§impl Display for ReductionRule
impl Display for ReductionRule
Source§impl PartialEq for ReductionRule
impl PartialEq for ReductionRule
impl Eq for ReductionRule
impl StructuralPartialEq for ReductionRule
Auto Trait Implementations§
impl Freeze for ReductionRule
impl RefUnwindSafe for ReductionRule
impl Send for ReductionRule
impl Sync for ReductionRule
impl Unpin for ReductionRule
impl UnsafeUnpin for ReductionRule
impl UnwindSafe for ReductionRule
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