Enum fungi_lang::ast::Exp [−][src]
pub enum Exp { 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), }
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 Display for Exp
[src]
impl Display for Exp
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 Clone for Exp
[src]
impl Clone for Exp
fn clone(&self) -> Exp
[src]
fn clone(&self) -> Exp
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 Debug for Exp
[src]
impl Debug for Exp
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 Eq for Exp
[src]
impl Eq for Exp
impl PartialEq for Exp
[src]
impl PartialEq for Exp
fn eq(&self, other: &Exp) -> bool
[src]
fn eq(&self, other: &Exp) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Exp) -> bool
[src]
fn ne(&self, other: &Exp) -> bool
This method tests for !=
.
impl Hash for Exp
[src]
impl Hash for Exp