Enum fungi_lang::reduce::StepError
source · Expand description
Cases for which step fails to reduce the program
Variants
Halt(ExpTerm)
Ordinary program termination
Though a “step error” (step cannot reduce the
configuration), this outcome signals ordinary termination of
the program. In particular, step cannot reduce a terminal
expression in a configuration with an empty stack: there are
no continuations to follow; these configurations have “halted”
(terminated).
Stuck(Stuck)
Irreducible, ill-typed program configurations
All other errors (aside from an empty stack) are unexpected in a well-typed Fungi program, and correspond to reduction getting “stuck” in a state that is not well-typed.
Trait Implementations
impl Eq for StepError
impl StructuralEq for StepError
impl StructuralPartialEq for StepError
Auto Trait Implementations
impl !RefUnwindSafe for StepError
impl !Send for StepError
impl !Sync for StepError
impl Unpin for StepError
impl !UnwindSafe for StepError
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more