Ongoing work, maps and dictionaries scgmille@xxxxxx (10 Nov 2003 03:47 UTC)
Re: Ongoing work, maps and dictionaries Bradd W. Szonye (10 Nov 2003 20:11 UTC)
Re: Ongoing work, maps and dictionaries scgmille@xxxxxx (10 Nov 2003 20:42 UTC)
Re: Ongoing work, maps and dictionaries Jens Axel Søgaard (10 Nov 2003 22:46 UTC)

Ongoing work, maps and dictionaries scgmille@xxxxxx 10 Nov 2003 03:47 UTC
In discussions just before and during the Scheme Workshop, Anton raised
the idea of separating the m:1 and m:n (single vs multivalue)
dictionaries into two types.  This makes a tremendous amount of sense.
The current draft has this change, with a Map type for
single-key->single-value collections, and a Dictionary subtype for
single-key->multiple-value collections.

While correcting this, I made an attempt to rename the bulk operators to
be more consistent and less confusing.  The current thought is:

*-{operator} - ordinary single instance call
*-{operator}-all - multiple value call
*-{operator}-from - call requiring another collection as a source
*-{operator}-all-from - multivalue version of above.

For example, dict-delete (deletes one key/value mapping),
dict-delete-all (deletes all mappings from a key), dict-delete-from
(deletes one key/value mapping for all keys in a source bag), and
dict-delete-all-from (deletes all key/value mappings for each key in the
source bag).

You can view the work-in-progress at sgmiller.org/code/srfi-44.html.
The concrete collection specification still needs to be updated to match
completely.

	Scott
--