pub enum LambdaError {
BadFreeVariableApp {
free_var: LambdaType,
arg: LambdaType,
},
BadFreeVariable {
free_var: LambdaType,
lambda: LambdaType,
},
BadBoundVariable {
var: LambdaExprRef,
depth: usize,
},
TypeError(TypeError),
ReductionError(ReductionError),
}Expand description
Errors resulting from interacting with a lambda calculus expression.
Variants§
BadFreeVariableApp
A function application which violates the type system
Fields
§
free_var: LambdaTypeThe type of the free variable involved
§
arg: LambdaTypeThe argument applied to a free variable.
BadFreeVariable
A free variable that violates the type sytem
Fields
§
free_var: LambdaTypeThe type of the free variable involved
§
lambda: LambdaTypeThe argument applied to a free variable.
BadBoundVariable
An internally caused error if DeBruijn indices are invalid.
TypeError(TypeError)
Any internal type error.
ReductionError(ReductionError)
An error caused by a failed reduction
Trait Implementations§
Source§impl Clone for LambdaError
impl Clone for LambdaError
Source§fn clone(&self) -> LambdaError
fn clone(&self) -> LambdaError
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 LambdaError
impl Debug for LambdaError
Source§impl Display for LambdaError
impl Display for LambdaError
Source§impl Error for LambdaError
impl Error for LambdaError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Source§impl From<ReductionError> for LambdaError
impl From<ReductionError> for LambdaError
Source§fn from(source: ReductionError) -> Self
fn from(source: ReductionError) -> Self
Converts to this type from the input type.
Source§impl From<TypeError> for LambdaError
impl From<TypeError> for LambdaError
Source§impl PartialEq for LambdaError
impl PartialEq for LambdaError
impl Eq for LambdaError
impl StructuralPartialEq for LambdaError
Auto Trait Implementations§
impl Freeze for LambdaError
impl RefUnwindSafe for LambdaError
impl Send for LambdaError
impl Sync for LambdaError
impl Unpin for LambdaError
impl UnwindSafe for LambdaError
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
§impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
§type Iter<'a> = Once<&'a T>
where
T: 'a
type Iter<'a> = Once<&'a T> where T: 'a
An iterator over the items within this container, by reference.
§fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
Check whether an item is contained within this sequence.
§fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
Convert an item of the sequence into a [
MaybeRef].