pub enum CoreForm {
Symbol {
id: NodeId,
name: String,
},
Number {
id: NodeId,
value: i64,
},
String {
id: NodeId,
value: String,
},
List {
id: NodeId,
elements: Vec<CoreForm>,
},
DefineFunc {
id: NodeId,
name: String,
params: Vec<String>,
body: Box<CoreForm>,
},
IfExpr {
id: NodeId,
condition: Box<CoreForm>,
then_branch: Box<CoreForm>,
else_branch: Option<Box<CoreForm>>,
},
MatchExpr {
id: NodeId,
scrutinee: Box<CoreForm>,
arms: Vec<MatchArm>,
},
}Expand description
Core Forms - canonical S-expressions after expansion
Variants§
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CoreForm
impl RefUnwindSafe for CoreForm
impl Send for CoreForm
impl Sync for CoreForm
impl Unpin for CoreForm
impl UnwindSafe for CoreForm
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