>>>>> "Rodrigo" == Rodrigo Ventura <[EMAIL PROTECTED]> writes:

    Rodrigo> Evaluating (describe #'make-array) results in:

    Rodrigo> #<Function MAKE-ARRAY {10050D61}> is function.
    Rodrigo> Arguments:
    Rodrigo>   (dimensions &key (element-type t) (initial-element nil 
initial-element-p)
    Rodrigo>    (initial-contents nil initial-contents-p) adjustable 
fill-pointer displaced-to
    Rodrigo>    displaced-index-offset)
    Rodrigo> Function documentation:
    Rodrigo>   Creates an array of the specified Dimensions.  See manual for 
details.
    Rodrigo> Its declared argument types are:
    Rodrigo>   ((OR (MOD 536870911) CONS NULL) &KEY
    Rodrigo>    (:ELEMENT-TYPE (OR CONS SYMBOL INSTANCE)) (:INITIAL-ELEMENT T)
    Rodrigo>    (:INITIAL-CONTENTS T) (:ADJUSTABLE T) (:FILL-POINTER T)
    Rodrigo>    (:DISPLACED-TO (OR ARRAY NULL)) (:DISPLACED-INDEX-OFFSET (MOD 
536870911)))
    Rodrigo> Its result type is:
    Rodrigo>   ARRAY
    Rodrigo> On Wednesday, 7/28/04 05:43:19 pm [+1] it was compiled from:
    Rodrigo> target:code/array.lisp
    Rodrigo>   Created: Tuesday, 4/6/04 06:18:03 pm [+1]
    Rodrigo>   Comment: $Header: /project/cmucl/cvsroot/src/code/array.lisp,v 
1.38 2004/04/06 17:18:03 emarsden Exp $

    Rodrigo> Regarding the :initial-element keyword, in one place it says
    Rodrigo> (initial-element nil initial-element-p), meaning the default is 
nil;

I suppose this is a lie, because NIL is used only if you say
:initial-element nil.  Otherwise, the array is "unfilled", which means
0 (of the appropriate type) for cmucl.

    Rodrigo> in another we have (:INITIAL-ELEMENT T), meaning the default is t; 
but

If this is from the declared argument types part, that's just saying
the type of the :initial-element argument has type T.  That is, it can
be anything.

Ray


Reply via email to