Hash :
6de2d733
Author :
Thomas de Grivel
Date :
2024-09-08T19:15:55
Linked lists owning the data (each node contains a couple of tags : one for data and one for next pointer.
Regular lists can be :
[1, 2, 3]
[1 | [2, 3]]
[1, 2 | [3]]
[]
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. :
[1 | 2]
[1, 2, 3 | 4]
[[] | 1]
All these list formats are supported in pattern matching.
List List.map (List, Fn)
List List.reverse (List)
# 5 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.
## 5.1 Functions
```
List List.map (List, Fn)
```
```
List List.reverse (List)
```