Update ReducedValue to handle lists
This commit is contained in:
parent
f90bfb88ca
commit
b93625819c
@ -15,6 +15,7 @@ type Reduction<T> = (T, Option<SideEffect>);
|
|||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
enum ReducedValue {
|
enum ReducedValue {
|
||||||
StringLiteral(Rc<String>),
|
StringLiteral(Rc<String>),
|
||||||
|
ListLiteral(VecDeque<Expression>),
|
||||||
Number(f64),
|
Number(f64),
|
||||||
Lambda(Function),
|
Lambda(Function),
|
||||||
}
|
}
|
||||||
@ -25,6 +26,7 @@ impl From<ReducedValue> for Expression {
|
|||||||
ReducedValue::Number(n) => Expression::Number(n),
|
ReducedValue::Number(n) => Expression::Number(n),
|
||||||
ReducedValue::StringLiteral(n) => Expression::StringLiteral(n),
|
ReducedValue::StringLiteral(n) => Expression::StringLiteral(n),
|
||||||
ReducedValue::Lambda(f) => Expression::Lambda(f),
|
ReducedValue::Lambda(f) => Expression::Lambda(f),
|
||||||
|
ReducedValue::ListLiteral(items) => Expression::ListLiteral(items),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -35,6 +37,7 @@ impl From<Expression> for ReducedValue {
|
|||||||
Expression::Number(n) => ReducedValue::Number(n),
|
Expression::Number(n) => ReducedValue::Number(n),
|
||||||
Expression::StringLiteral(n) => ReducedValue::StringLiteral(n),
|
Expression::StringLiteral(n) => ReducedValue::StringLiteral(n),
|
||||||
Expression::Lambda(f) => ReducedValue::Lambda(f),
|
Expression::Lambda(f) => ReducedValue::Lambda(f),
|
||||||
|
Expression::ListLiteral(items) => ReducedValue::ListLiteral(items),
|
||||||
_ => panic!("trying to store a non-fully-reduced variable"),
|
_ => panic!("trying to store a non-fully-reduced variable"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user