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§
Source§impl<'de> Deserialize<'de> for CoreForm
impl<'de> Deserialize<'de> for CoreForm
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
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