This is the last section before we're done implementing the language, and compared to the last part it should be relatively easy.
Any proper language needs good data structures, and lists are one of them. To be able to work properly with lists, we’ll introduce four new forms to our language:
cons
is used to construct lists from a "head" element, and the rest of the list (the "tail").head
extracts the first element of a listtail
returns the rest of the elements, once the first is dropped.empty
takes a list as input, and returns#t
if it is empty and#f
otherwise.
Go on then, finish your language.
nosetests tests/test_6_working_with_lists.py --stop
With the language implementation done, it's time to use our language in part 7.