|  | ANSI Common Lisp  15
    Arrays  15.2 Dictionary of Arrays 
      
        | 15.2.1 array | System Class |  
      Class Precedence List:array, t Description:An array contains objects arranged according to a Cartesian
        coordinate system. An array provides mappings
        from a set of fixnums {i0,i1,...,ir-1}
        to corresponding elements of the array, where 0 <= ij < dj,
        r is the rank of the array, and dj is the size of dimension j of the array. When
        an array is created, the program requesting
        its creation may declare that all elements
        are of a particular type, called the expressed array element type.
        The implementation is permitted to upgrade
        this type in order to produce the actual
        array element type, which is the element
        type for the array is actually specialized. See the function upgraded-array-element-type.
        Compound Type Specifier Kind:Specializing. Compound Type Specifier Syntax:(array [{element-type | *} [dimension-spec]]) dimension-spec::= rank | * | ({dimension | *}*)Compound Type Specifier Arguments:dimension - a valid array
        dimension. element-type - a type specifier.  rank - a non-negative fixnum.
        Compound Type Specifier Description:This denotes the set of arrays whose element type, rank, and dimensions
        match any given element-type, rank, and dimensions. Specifically: If element-type is the symbol
        *, arrays are not excluded on the basis of
        their element type. Otherwise, only
        those arrays are included whose actual array element type is the
        result of upgrading element-type; see Section 15.1.2.1 Array Upgrading.  If the dimension-spec is a rank, the set includes only those arrays
        having that rank. If the dimension-spec
        is a list of dimensions, the set
        includes only those arrays having a rank
        given by the length of the dimensions,
        and having the indicated dimensions; in this case, * matches any value for the
        corresponding dimension. If the dimension-spec
        is the symbol *, the set is not restricted
        on the basis of rank or dimension. See Also:*print-array*, aref, make-array, vector,
        Section 2.4.8.12 Sharpsign A, Section 22.1.3.8 Printing Other Arrays Notes:Note that the type (array t) is a proper subtype
        of the type (array *). The reason is that the type (array t) is the set
        of arrays that can hold any object (the elements
        are of type t,
        which includes all objects). On the other
        hand, the type (array *) is the set of all arrays
        whatsoever, including for example arrays that
        can hold only characters. The type (array
        character) is not a subtype of the
        type (array t); the two sets are disjoint
        because the type (array character) is not the set of all arrays that can hold characters, but rather the set of arrays that are specialized to hold precisely characters and no other objects. Allegro CL Implementation Details:None. |