### 5.2 Miscellaneous Types ¶

`b type-information ; bytes`

  Pascal space type. This is documented by IBM; what does it mean?

  This use of the ‘`b`’ type descriptor can be distinguished from its use for builtin integral types (see Defining Builtin Types Using Builtin Type Descriptors) because the character following the type descriptor is always a digit, ‘`(`’, or ‘`-`’.

`B type-information`

  A volatile-qualified version of type-information. This is a Sun extension. References and stores to a variable with a volatile-qualified type must not be optimized or cached; they must occur as the user specifies them.

`d type-information`

  File of type type-information. As far as I know this is only used by Pascal.

`k type-information`

  A const-qualified version of type-information. This is a Sun extension. A variable with a const-qualified type cannot be modified.

`M type-information ; length`

  Multiple instance type. The type seems to composed of length repetitions of type-information, for example `character*3` is represented by ‘`M-2;3`’, where ‘`-2`’ is a reference to a character type (see Negative Type Numbers). I’m not sure how this differs from an array. This appears to be a Fortran feature. length is a bound, like those in range types; see Subrange Types.

`S type-information`

  Pascal set type. type-information must be a small type such as an enumeration or a subrange, and the type is a bitmask whose length is specified by the number of elements in type-information.

  In CHILL, if it is a bitstring instead of a set, also use the ‘`S`’ type attribute (see The String Field).

`* type-information`

  Pointer to type-information.