Limbo supports lists of arbitrary types as a basic construct.
Three lists are declared.
The len
statement can be used on a list to return the number of elements in the respective list. Note that the list persons
is a list of tuples whose pairing is that of a string and an integer.
The lists names
and ages
are both populated.
The ::
operator functions on lists by prepending the given element before the head of the current list. Note the interaction between successive calls to the ::
operator prior to assignment and how it affects order.
The list persons
is built by making copies of the names
and ages
lists as n
and a
, respectively.
The hd
statement returns the head of the list to its right.
The tl
statement returns the tail, that is the list bar the head element, of the list to its right.
An empty list is equivocal to nil
. That is, a nil list is an empty list.
Note: The effects upon temporary copies of names
and ages
do not affect the original lists they are copies of, as the temporary copies are copies, rather than references to the original lists.
; limbo lists.b
; lists
Lens: 0, 0, 0
Lens: 3, 3, 0
Persons:
Spike: 27
Jet: 36
Ed: 13
Tmp lens: 0, 0
Lens: 3, 3, 0
;
- Try reversing a list.
- Try interleaving two lists.