Skip to content

Latest commit

 

History

History
20 lines (13 loc) · 836 Bytes

6.md

File metadata and controls

20 lines (13 loc) · 836 Bytes

Part 6: working with lists

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 list
  • tail 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

What's next?

With the language implementation done, it's time to use our language in part 7.