upgraded-array-element-type typespec &optional environment => upgraded-typespec
Arguments and Values:
typespec---a type specifier.
environment---an environment object. The default is nil, denoting the null lexical environment and the current global environment.
upgraded-typespec---a type specifier.
Returns the element type of the most specialized array representation capable of holding items of the type denoted by typespec.
The typespec is a subtype of (and possibly type equivalent to) the upgraded-typespec.
If typespec is bit, the result is type equivalent to bit. If typespec is base-char, the result is type equivalent to base-char. If typespec is character, the result is type equivalent to character.
The purpose of upgraded-array-element-type is to reveal how an implementation does its upgrading.
The environment is used to expand any derived type specifiers that are mentioned in the typespec.
Side Effects: None.
Affected By: None.
Exceptional Situations: None.
Except for storage allocation consequences and dealing correctly with the optional environment argument, upgraded-array-element-type could be defined as:
(defun upgraded-array-element-type (type &optional environment) (array-element-type (make-array 0 :element-type type)))