Maxima interface for CL hash tables



On Fri, Feb 20, 2009 at 7:44 AM, Barton Willis <willisb at unk.edu> wrote:

> I'm not going to puzzle my way though this, but the function listarray
> (defined in  marray.lisp) has a clause
>
>   ((hash-table-p ary)
>               (let (vals (tab ary))
>                       ....
> I'm not convinced that there is a Maxima interface to CL hash tables:

use_fast_arrays=true causes Maxima to create CL hash tables
(and they are stuck in the value slot instead of in the property list).

If I m not mistaken, when use_fast_arrays=false, Maxima uses its
own scheme for building a hash table. It seems we could replace
that without any changes from the user's point of view.

There is also the question of whether hash tables should be values
or something else. This is an aspect of the Lisp-1 vs Lisp-2 question.
I think about this every now and then, but I haven't settled on one
or the other.

The documentation for use_fast_arrays is pretty much incomprehensible;
that's a bug. I think I could revise it, now that I understand (I think).

best

Robert