1.15 List

Linked lists owning the data (each node contains a couple of tags : one for data and one for next pointer.

Regular lists can be :

  • multiple elements : [1, 2, 3]
  • an element and a list : [1 | [2, 3]]
  • multiple elements and a list : [1, 2 | [3]]
  • the empty list : []

Regular lists end with the empty list : [1] == [1 | []].

You can also contruct dotted lists like in Common Lisp where the next list pointer is an arbitrary form. E.g. :

  • an element and an element : [1 | 2]
  • multiple elements and an element : [1, 2, 3 | 4]
  • the empty list and an element : [[] | 1]

All these list formats are supported in pattern matching.

1.15.1 Functions

List List.map (List, Fn)
List List.reverse (List)

Top : KC3 documentation

Previous : 1.14 Integer

Next : 1.16 Map