On 05/04/2013 10:47 AM, "Noah Lavine" <noah.b.lav...@gmail.com> wrote:
>
> Hello,
>
> I haven't thought about this whole email, but I disagree with this part
of your response:
>
> On Thu, Apr 4, 2013 at 8:17 PM, Daniel Hartwig <mand...@gmail.com> wrote:
>>
>> Hash tables are not just a set of (key, value) pairs, they also
>> include the particular hash and equality procedures that are used with
>> them.  These could be arbitrary procedures, and procedures can not
>> generally be converted to a string and back again, so, by extension,
>> neither can hash tables even if you could do that for their content.
>
>
> Although hash tables in general do include arbitrary procedures, in
Guile's implementation there are only three to choose from, so it should be
possible to represent them in syntax.
>

I think you miss the hashx procedures.

> For exactly this reason, I believe that actually "hash table" is a bad
name for the data structure. I think of Guile's hash tables as a generic
dictionary structure with average O(1)-time lookup, insertion and deletion.

Where do you get your definition of 'hash table' that the guile type does
not apply?

> In the rare case, when dictionary lookups are time- or space-critical and
must be optimized, *then* it's worth it to design custom hash functions and
implement hash tables from vectors and similar things.

That's what the current data type is anyway, and can be used with custom
hash?  I'm not sure I follow the distinctions you are making.

Reply via email to