Enum fungi_lang::ast::Exp
source · pub enum Exp {
Show 29 variants
Doc(String, ExpRec),
UseAll(UseAllModule, ExpRec),
Decls(DeclsRec, ExpRec),
AnnoE(ExpRec, CEffect),
AnnoC(ExpRec, CType),
Force(Val),
Thunk(Val, ExpRec),
Unroll(Val, Var, ExpRec),
Unpack(Var, Var, Val, ExpRec),
Fix(Var, ExpRec),
Ret(Val),
DefType(Var, Type, ExpRec),
Let(Var, ExpRec, ExpRec),
Lam(Var, ExpRec),
HostFn(HostEvalFn),
App(ExpRec, Val),
IdxApp(ExpRec, IdxTm),
Split(Val, Var, Var, ExpRec),
Case(Val, Var, ExpRec, Var, ExpRec),
IfThenElse(Val, ExpRec, ExpRec),
RefAnon(Val),
Ref(Val, Val),
Get(Val),
WriteScope(Val, ExpRec),
NameFnApp(Val, Val),
PrimApp(PrimApp),
Unimp,
DebugLabel(Option<Name>, Option<String>, ExpRec),
NoParse(String),
}
Expand description
Expressions (aka, computation terms)
Variants
Doc(String, ExpRec)
UseAll(UseAllModule, ExpRec)
Decls(DeclsRec, ExpRec)
AnnoE(ExpRec, CEffect)
AnnoC(ExpRec, CType)
Force(Val)
Thunk(Val, ExpRec)
Unroll(Val, Var, ExpRec)
Unpack(Var, Var, Val, ExpRec)
Fix(Var, ExpRec)
Ret(Val)
DefType(Var, Type, ExpRec)
Let(Var, ExpRec, ExpRec)
Lam(Var, ExpRec)
HostFn(HostEvalFn)
App(ExpRec, Val)
IdxApp(ExpRec, IdxTm)
Split(Val, Var, Var, ExpRec)
Case(Val, Var, ExpRec, Var, ExpRec)
IfThenElse(Val, ExpRec, ExpRec)
RefAnon(Val)
Ref(Val, Val)
Get(Val)
WriteScope(Val, ExpRec)
NameFnApp(Val, Val)
PrimApp(PrimApp)
Unimp
DebugLabel(Option<Name>, Option<String>, ExpRec)
NoParse(String)
Trait Implementations
impl Eq for Exp
impl StructuralEq for Exp
impl StructuralPartialEq for Exp
Auto Trait Implementations
impl !RefUnwindSafe for Exp
impl !Send for Exp
impl !Sync for Exp
impl Unpin for Exp
impl !UnwindSafe for Exp
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