1. Lists
    1. list
    2. range
      1. Basic range
      2. Incremental range
      3. Decremental range
      4. Repeated elements
      5. range examples

Lists

All list types must implement the following keys:

Syntactic types:

list

Regular lists must also implement these keys:

Although the basic list itself is not stringifiable on its own (a text context must manage it specifically if it wishes to stringify them), it is able to define pretty printing options for itself, some examples are:

range

Represents a predictable list of numbers or hexnums. It's fine if one side is a number and one is a hexnum.

range is something of a supertype that represents four different types of ranges. If one key set is being used, others should not be allowed. All types implement the following keys:

Basic range

Incremental range

Decremental range

Repeated elements

range examples

Examples for the different types of ranges:

1~5 = { data: [1, 2, 3, 4, 5], length: 5, start: 1, end: 5, end1: 6, difference: 4, difference1: 5 }
2*3 = { data: [2, 2, 2], length: 3, left: 2, times: 3 }
4+3 = { data: [4, 5, 6], length: 3, start: 4, add: 3, end: 6, end1: 7, difference: 2, difference1: 3 }
4+-3 = { data: [4, 3, 2], length: 3, start: 4, sub: 3, end: 2, end1: 1, difference: 2, difference1: 3 }