B:BD[
4.1708] → [
5.101:126]
∅:D[
5.126] → [
4.1733:1766]
B:BD[
4.1733] → [
4.1733:1766]
B:BD[
4.1766] → [
2.111:224]
pub enum ListCell<'gc> {
/// The empty list
Null,
/// A pair of items (car, cdr) where cdr is a list
Cons(Option<Primitive<'gc>>, Gc<'gc, ListCell<'gc>>),
pub struct ListCell<'gc> {
car: Option<Gc<'gc, Primitive<'gc>>>,
/// This cell is a list if this points to another list or is None (unset)
cdr: Option<Gc<'gc, Primitive<'gc>>>,
}
impl<'gc> ListCell<'gc> {
/// Create an empty list cell (Scheme `'()`)
pub const fn empty() -> Self {
Self {
car: None,
cdr: None,
}
}