ABSTRACT

Functional programming languages make heavy use of singly linked lists and use recursion to process them. Singly linked lists have the virtue that they are persistent: that is, new lists share memory with the list from which they are created. The “list” structures provided by Python and Scala are not singly linked lists and are not appropriate for functional programming. Fortunately, it is not difficult to define a singly linked list class in these languages.