The SPECIALIZED-ARRAY: and SPECIALIZED-ARRAYS: parsing words generate specialized array types if they haven't been generated already and add the following words to the vocabulary search path, where T is the C type in question:
T-array
The class of arrays with elements of type T
<T-array>
Constructor for arrays with elements of type T; stack effect ( len -- array )
(T-array)
Constructor for arrays with elements of type T, where the initial contents are uninitialized; stack effect ( len -- array )
<direct-T-array>
Constructor for arrays with elements of type T backed by raw memory; stack effect ( alien len -- array )
T-array{
Literal syntax, consists of a series of values terminated by }
Behind the scenes, these words are placed in a vocabulary named specialized-arrays.instances.T, however this vocabulary should not be placed in a USING: form directly. Instead, always use SPECIALIZED-ARRAY: or SPECIALIZED-ARRAYS:. This ensures that the vocabulary can get generated the first time it is needed.
Additionally, special versions of the standard <slice>, head, and tail sequence operations are provided for specialized arrays to create a new specialized array object sharing storage with a subsequence of an existing array: