Hi Marc,

> I have attached an improved version of the HAMT module to this email.

How about terminology: "delete" vs. "remove"?

In C++ the verb "delete" is more or less the same as "free": It means
"deallocate" and "free memory".

Likewise in some C APIs, e.g. pthread_key_delete.

In this sense, 'hamt_delete' is triggering the wrong associations.
How about renaming 'hamt_remove'?

Deleting an entry from a hash table or HAMT does not always mean to
delete the object that the entry references.

The Java collections [1], C# collections [2], Python collections [3]
all use the verb "remove".

Yes, we still have hash_delete (in module 'hash') and 'argz_delete' (in
module 'argz'); these are very old modules.

Bruno

[1] https://docs.oracle.com/javase/7/docs/api/java/util/Set.html
[2] 
https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.hashset-1
[3] https://docs.python.org/3/library/stdtypes.html#set




Reply via email to