function arguments and gensym



Thanks for the reply. To make sure I did the examples again
>
> ....
>   
>> w:x;
>> x[4]:5;
>> x:[1,1,1,1,1,1,1,1];
>> w[4];
>>
>> This is tricky! Now we still get 5. So maxima seems to prefer
>> the array property of x above its value which is a list.
>>     
>
> No, the value of x is a list.  X has no array property.
>   
But we do get 5!

:lisp (describe '$x);

$X - internal symbol in MAXIMA package
 value:
   ((MLIST SIMP) 1 1 1 1 1 1)
 property MPROPS:
   (NIL HASHAR #:G32536)    <======



> The notation
>   
>> w:x;
>> x:[1,1,1,1,1,1,1,1];
>> w[4];
>>
>> Now x has no array property so its value is inspected. We get 1.
>>
>> x[4]:5;
>> x:[1,1,1,1,1,1,1,1];
>> x[4];
>>
>> We get  5. Maxima prefers again the array property.
>>     
>
> No, the value of x is a list. 
>
>
>   
But we do get 5!

 :lisp (describe '$x)

$X - internal symbol in MAXIMA package
 value:
   ((MLIST SIMP) 1 1 1 1 1 1)
 property MPROPS:
   (NIL HASHAR #:G32537)   <=====

Michel