Struct lamcal::ApplicativeOrder [−][src]
pub struct ApplicativeOrder<A> { /* fields omitted */ }
Applicative-Order β-reduction to normal form.
- Reduces the leftmost innermost redex first.
- It treats free variables as strict data constructors.
- An argument e2 of an application (e1 e2) is reduced before contracting the redex and before building an application term.
- Reductions are performed also under lambda abstractions.
This strategy is uniform as its definition involves no other reduction strategy.
Trait Implementations
impl<A: Default> Default for ApplicativeOrder<A>
[src]
impl<A: Default> Default for ApplicativeOrder<A>
fn default() -> ApplicativeOrder<A>
[src]
fn default() -> ApplicativeOrder<A>
Returns the "default value" for a type. Read more
impl<A: Debug> Debug for ApplicativeOrder<A>
[src]
impl<A: Debug> Debug for ApplicativeOrder<A>
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl<A: Clone> Clone for ApplicativeOrder<A>
[src]
impl<A: Clone> Clone for ApplicativeOrder<A>
fn clone(&self) -> ApplicativeOrder<A>
[src]
fn clone(&self) -> ApplicativeOrder<A>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0
[src]Performs copy-assignment from source
. Read more
impl<A: Copy> Copy for ApplicativeOrder<A>
[src]
impl<A: Copy> Copy for ApplicativeOrder<A>
impl<A: PartialEq> PartialEq for ApplicativeOrder<A>
[src]
impl<A: PartialEq> PartialEq for ApplicativeOrder<A>
fn eq(&self, other: &ApplicativeOrder<A>) -> bool
[src]
fn eq(&self, other: &ApplicativeOrder<A>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &ApplicativeOrder<A>) -> bool
[src]
fn ne(&self, other: &ApplicativeOrder<A>) -> bool
This method tests for !=
.
impl<A> BetaReduce for ApplicativeOrder<A> where
A: AlphaRename,
[src]
impl<A> BetaReduce for ApplicativeOrder<A> where
A: AlphaRename,
fn reduce_inspected(
expr: Term,
inspect: &mut impl Inspect
) -> Term
[src]
fn reduce_inspected(
expr: Term,
inspect: &mut impl Inspect
) -> Term
Performs β-reduction allowing to inspect the current term before each contraction. Read more
fn reduce(expr: Term) -> Term
[src]
fn reduce(expr: Term) -> Term
Performs β-reduction on the given Term
and returns the result. Read more
fn reduce_once(expr: Term) -> Term
[src]
fn reduce_once(expr: Term) -> Term
Performs one step of β-reduction on the given Term
and returns the result. Read more
Auto Trait Implementations
impl<A> Send for ApplicativeOrder<A> where
A: Send,
impl<A> Send for ApplicativeOrder<A> where
A: Send,
impl<A> Sync for ApplicativeOrder<A> where
A: Sync,
impl<A> Sync for ApplicativeOrder<A> where
A: Sync,