2020-06-20 22:02:17 +01:00
|
|
|
use crate::types::core::Expression;
|
2020-06-13 17:55:27 +01:00
|
|
|
|
2020-06-20 15:20:05 +01:00
|
|
|
#[derive(Debug, Eq, PartialEq, Clone)]
|
|
|
|
pub struct List<T: Expression> {
|
|
|
|
first: Box<T>,
|
|
|
|
rest: Box<T>,
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<T: Expression> List<T> {
|
|
|
|
pub fn new<S: Expression>(first: Box<S>, rest: Box<S>) -> List<S> {
|
|
|
|
List { first, rest }
|
2020-06-13 17:55:27 +01:00
|
|
|
}
|
|
|
|
}
|
2020-06-20 15:20:05 +01:00
|
|
|
|
|
|
|
impl<T: Expression> Expression for List<T> {
|
|
|
|
fn eval() {}
|
|
|
|
fn code_gen() {}
|
|
|
|
}
|