Table of Contents

Lists

Lists are ordered collections of objects of any type. Lists are entered as a sequence of objects enclosed in curly braces { and }. The syntax rules of each individual object still apply when they are within a list. Lists can contain any number of items, including none, therefore the empty list { } is valid and can be used. Items can be repeated within a list, and the order in which items are inserted is preserved unless the order is intentionally changed, for example using the SORT command.


Operating with Lists

In most cases, commands will accept a list instead of a single argument and will proceed according to the Parallel Processing with Lists section. For example, lists can be used to quickly apply the same operation to more than one value:

2:                     { 1 2 3 }
1:                             1
……………………………………………………………………………………
+

will result in adding 1 to each element on the list: { 2 3 4 }.

There's operations that are exclusive to lists, for example the command ADD will concatenate two lists, or append 1 element at the end of the list.

2:                     { 1 2 3 }
1:                             1
……………………………………………………………………………………
ADD

will result in { 1 2 3 1 } and

2:                     { 1 2 3 }
1:                     { 4 5 6 }
……………………………………………………………………………………
ADD

will result in { 1 2 3 4 5 6 }

Other common commands that operate on lists are:

Elements within a List

Elements in a list can be referred to by a numeric index. The index starts at 1 for the first element of the list. To get an element from a list, the GET command is used:

2:                  { 11 12 13 }
1:                             2
……………………………………………………………………………………
GET

will result in 12.

Replacing an element is done via the PUT command:

3:                  { 11 12 13 }
2:                             2
1:                             3
……………………………………………………………………………………
PUT

will result in { 11 3 13 } because the object 3 replaced the object at index 2

Elements of a list can also be accessed from within algebraic expression (read-only) by giving the list a name (store the list in a variable using STO or LSTO) and then including the index in parenthesis, much like a mathematical function. For example, assuming the list { 11 12 13 } was stored in variable L, evaluating 'L(2)+10' will result in 22 as expected.

Procedures with Lists