propeller.push.instructions.vector

VECTOR instructions for all vector element subtypes: BOOLEAN, FLOAT, INTEGER, and STRING.

_butlast

Pushes the butlast of the top item

_concat

Concats and pushes the top two vectors of the stack

_conj

Conj’s the top item of the appropriately-typed literal stack onto the vector stack (e.g. pop the top INTEGER and conj it onto the top VECTOR_INTEGER)

_contains

Pushes TRUE onto the BOOLEAN stack if the top element of the vector stack contains the top element of the appropriately-typed literal stack. Otherwise, pushes FALSE

_emptyvector

Pushes TRUE onto the BOOLEAN stack if the top element is an empty vector. Otherwise, pushes FALSE

_first

Pushes the first item of the top element of the vector stack onto the appropriately-typed literal stack. If the vector is empty, return :ignore-instruction so that nothing is changed on the stacks.

_indexof

Pushes onto the INTEGER stack the index of the top element of the appropriately-typed literal stack within the top element of the vector stack

_iterate

Iterates over the vector using the code on the exec stack

_last

Pushes the last item of the top element of the vector stack onto the appropriately-typed literal stack

_length

Pushes the length of the top item onto the INTEGER stack

_nth

Pushes the Nth item of the top element of the vector stack onto the appropriately-typed literal stack, where N is taken from the INTEGER stack. To insure the index is within bounds, N is taken mod the vector length

_occurrencesof

Pushes onto the INTEGER stack the number of occurrences of the top element of the appropriately-typed literal stack within the top element of the vector stack

_pushall

Pushes every item of the top element onto the appropriately-typed stack

_remove

Removes all occurrences of the top element of the appropriately-typed literal stack from the first element of the vector stack

_replace

Replaces all occurrences of the second element of the appropriately-typed literal stack with the top element of the appropriately-typed literal stack within the top item of the vector stack

_replacefirst

Replaces the first occurrence of the second element of the appropriately-typed literal stack with the top element of the appropriately-typed literal stack within the top item of the vector stack

_rest

Pushes the rest of the top item

_reverse

Pushes the reverse of the top item

_set

Replaces in the top vector the item at index N (taken from the INTEGER stack) with the top item from the appropriately-typed literal stack. To insure the index is within bounds, N is taken mod the vector length

_subvec

Pushes a subvector of the top item, with start and end indices determined by the second and top items of the INTEGER stack respectively

_take

Pushes the first N items of the top element, where N is taken from the top of the INTEGER stack