sequences are used to store an ordered collection of values of the same type, and can be taken from group literals. sequences can be dynamic size or static size
The type of a sequence is determined by the first value in the literal or, for strings, suffixes
strings are a form of lists with character values
dynamic_array
fixed_array
string
(1) []l
[]
[[comma group]]
[[comma group]]l
[[singleton]]
[[singleton]]l
([comma group])l
([singleton])l
[string]l
(2) ([comma group])
([comma group])v
([singleton])v
[string]
[string]v
(1) A dynamic list which stores the length and the content of the list and allows resizing
(2) A static list which stores only the content and does not allow resizing, but maintains most of the same functionality as a dynamic list otherwise
(1) '[text]'
"[text]"
(2) [(1)]c
(3) [(1)]uc
(4) [(1)]lc
(5) [(1)]ulc
(6) [(1/2/3/4/5)]l
(7) [(1/2/3/4/5)]v
Contiguous memory is allocated to store text (unlike C, it does not include a null byte)
(1) A string with 8-bit signed characters
(2) A string with 8-bit signed characters
(3) A string with 8-bit unsigned characters
(4) A string with 16-bit signed characters
(5) A string with 16-bit unsigned characters
(6) A dynamic list of specified characters
(7) A static list of specified characters
collection
[list] append([value])
adds value to the list
[list] remove([index])
removes the index from the list
[list]#
returns the number of elements in [list]
[list]+[list]
returns the sum of every element at the same position of the two lists
[list]+[element]
returns the list with [element] appended at the end
[list]-[element]
returns the list with the last occurrence of [element] removed
[list]*[number]
repeats the elements of [list] [number] times
[list]*[number]
returns a list with the elements of [list] repeated [number] times
[list]||[list]
returns a concatenation of the two lists
|[list]|
returns the norm (square root of the sum of all the squares) of the elements in [list]
[list]=[list]
returns whether all elements are equivalent in both lists
[list]!=[list]
returns whether any element is not equivalent in both lists
[list][[number]]
returns the element that is [number] into the list (starting from 0)
[element] in [list]
returns whether [element] is contained in the list
keeps:
[variable]=[value]
[variable]==[value]
[value]<<[value]