Enum fungi_lang::eval::EvalTyErr
source · pub enum EvalTyErr {
Show 21 variants
LetNonRet(ExpTerm),
AppNonLam(ExpTerm),
SplitNonPair(RtVal),
IfNonBool(RtVal),
CaseNonInj(RtVal),
UnrollNonRoll(RtVal),
ThunkNonName(RtVal),
ForceNonThunk(RtVal),
RefThunkNonThunk(RtVal),
RefNonName(RtVal),
GetNonRef(RtVal),
WriteScopeWithoutName0,
WriteScopeWithoutName1,
WriteScopeWithoutName2,
NameFnApp0,
NameFnApp1,
PrimAppNameBin(RtVal, RtVal),
PrimAppNatLt(RtVal, RtVal),
PrimAppNatEq(RtVal, RtVal),
PrimAppNatLte(RtVal, RtVal),
PrimAppNatPlus(RtVal, RtVal),
}
Expand description
Dynamic type errors (“stuck cases” for evaluation)
For each place in the eval
function where a dynamic type error
may arise that prevents us from progressing, we give a constructor
with the relevant information (first for documentation purposes,
and secondly for future error messages).
Variants
LetNonRet(ExpTerm)
AppNonLam(ExpTerm)
SplitNonPair(RtVal)
IfNonBool(RtVal)
CaseNonInj(RtVal)
UnrollNonRoll(RtVal)
ThunkNonName(RtVal)
ForceNonThunk(RtVal)
RefThunkNonThunk(RtVal)
RefNonName(RtVal)
GetNonRef(RtVal)
WriteScopeWithoutName0
WriteScopeWithoutName1
WriteScopeWithoutName2
NameFnApp0
NameFnApp1
PrimAppNameBin(RtVal, RtVal)
PrimAppNatLt(RtVal, RtVal)
PrimAppNatEq(RtVal, RtVal)
PrimAppNatLte(RtVal, RtVal)
PrimAppNatPlus(RtVal, RtVal)
Trait Implementations
impl Eq for EvalTyErr
impl StructuralEq for EvalTyErr
impl StructuralPartialEq for EvalTyErr
Auto Trait Implementations
impl !RefUnwindSafe for EvalTyErr
impl !Send for EvalTyErr
impl !Sync for EvalTyErr
impl Unpin for EvalTyErr
impl !UnwindSafe for EvalTyErr
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