digitalmars.D.dtl - "map": sorted or unsorted?
- Ben Hinkle (10/10) Aug 02 2004 Before the vocabulary gets too confusing, should
- Matthew (7/17) Aug 02 2004 I would say 2)
- Mickey Finn (8/18) Aug 02 2004 FWIW, I think a Map should perhaps be somewhat abstract. Therefore a sor...
- Andy Friesen (6/19) Aug 02 2004 I would say that 'Map' is free to sort, but is not obligated to. If you...
- Sean Kelly (6/11) Aug 02 2004 Well, the STL has (or will have) map, multimap, and hash_map. So there ...
- Ben Hinkle (11/24) Aug 03 2004 After pondering this map thing some more, I'm also considering renaming
Before the vocabulary gets too confusing, should 1) we try to use the word "map" in D to mean an STL-like map (ie sorted) or 2) have "map" mean a Java-like Map (not necessarily sorted) or 3) always use "sorted map" and "unsorted map" or 4) ignore the difference and let the context determine which is meant. I ask because in MinTL a Map is sorted and in DTL it is unsorted. I'm tempted to rename the MinTL Map to SortedMap. Thoughts? -Ben ps - I say "STL-like" and "Java-like" out of ignorance of any other programming language out there that has sorted and/or unsorted maps.
Aug 02 2004
"Ben Hinkle" <bhinkle4 juno.com> wrote in message news:cemuln$kv2$1 digitaldaemon.com...Before the vocabulary gets too confusing, should 1) we try to use the word "map" in D to mean an STL-like map (ie sorted) or 2) have "map" mean a Java-like Map (not necessarily sorted) orI would say 2) This is the one I generally mean when I say map. IMO, the sorted nature of STL's map is pretty unimportant.3) always use "sorted map" and "unsorted map" orI vote for 3). (Feel free to pick me up whenever I use the unadorned term.)4) ignore the difference and let the context determine which is meant. I ask because in MinTL a Map is sorted and in DTL it is unsorted. I'm tempted to rename the MinTL Map to SortedMap. Thoughts?I think that's a good idea. I'm open, in the future, to removing Map and having either SortedMap or UnsortedMap.-Ben ps - I say "STL-like" and "Java-like" out of ignorance of any other programming language out there that has sorted and/or unsorted maps.I think STL-like and Java-like are apposite terms for our discussions, and we should adopt them as semi-official terminology. :)
Aug 02 2004
FWIW, I think a Map should perhaps be somewhat abstract. Therefore a sorted version would be considered a specialization? I think SortedMap would be a better name for the sorted version. There again, I'm a firm believer in splitting a class into it's respective mutable and immutable versions (where feasible) ... so go figure :-) "Ben Hinkle" <bhinkle4 juno.com> wrote in message news:cemuln$kv2$1 digitaldaemon.com...Before the vocabulary gets too confusing, should 1) we try to use the word "map" in D to mean an STL-like map (ie sorted)or2) have "map" mean a Java-like Map (not necessarily sorted) or 3) always use "sorted map" and "unsorted map" or 4) ignore the difference and let the context determine which is meant. I ask because in MinTL a Map is sorted and in DTL it is unsorted. I'm tempted to rename the MinTL Map to SortedMap. Thoughts? -Ben ps - I say "STL-like" and "Java-like" out of ignorance of any other programming language out there that has sorted and/or unsorted maps.
Aug 02 2004
Ben Hinkle wrote:Before the vocabulary gets too confusing, should 1) we try to use the word "map" in D to mean an STL-like map (ie sorted) or 2) have "map" mean a Java-like Map (not necessarily sorted) or 3) always use "sorted map" and "unsorted map" or 4) ignore the difference and let the context determine which is meant. I ask because in MinTL a Map is sorted and in DTL it is unsorted. I'm tempted to rename the MinTL Map to SortedMap. Thoughts? -Ben ps - I say "STL-like" and "Java-like" out of ignorance of any other programming language out there that has sorted and/or unsorted maps.I would say that 'Map' is free to sort, but is not obligated to. If you actually care about whether a given map sorts or not, use a SortedMap or an UnsortedMap. (you could just alias one or the other to Map even) -- andy
Aug 02 2004
In article <cemuln$kv2$1 digitaldaemon.com>, Ben Hinkle says...Before the vocabulary gets too confusing, should 1) we try to use the word "map" in D to mean an STL-like map (ie sorted) or 2) have "map" mean a Java-like Map (not necessarily sorted) or 3) always use "sorted map" and "unsorted map" or 4) ignore the difference and let the context determine which is meant.Well, the STL has (or will have) map, multimap, and hash_map. So there are provisions for sorted and unsorted maps in C++. I'd say the term "map" is general and might have several different implementations, depending on need. I'd like to have both if possible. Sean
Aug 02 2004
Ben Hinkle wrote:Before the vocabulary gets too confusing, should 1) we try to use the word "map" in D to mean an STL-like map (ie sorted) or 2) have "map" mean a Java-like Map (not necessarily sorted) or 3) always use "sorted map" and "unsorted map" or 4) ignore the difference and let the context determine which is meant. I ask because in MinTL a Map is sorted and in DTL it is unsorted. I'm tempted to rename the MinTL Map to SortedMap. Thoughts? -Ben ps - I say "STL-like" and "Java-like" out of ignorance of any other programming language out there that has sorted and/or unsorted maps.After pondering this map thing some more, I'm also considering renaming MinTL's Map to SortedAA (for sorted associative array) instead of SortedMap. The reason is that 1) D uses the phrase "associative array" instead of "map" 2) MinTL also has a LinkedAA which is an associative array ordered by insertion order. The trouble with the term "associative array" is that it's a mouthful and it doesn't lend itself to nice class names. "Map" is simpler to say and use in names. oh well. I'll probably end up with SortedAA and LinkedAA and avoid "map" entirely.
Aug 03 2004