Comment by geoka9

4 hours ago

Only they are not using a collection and therefore "Map" was a confusing choice for the method name (maybe "To" would have been a better name?).

A one item collection is admittedly a lame one, but it is a collection. Pointers are collections of zero or one items in a sense.

Now, the verb "map" is the traditional name for this operator, but I agree it sounds confusing when the noun "map" is also a collection type. C# and SQL call this Select, if that helps.

Is that really the confusing part? If you had a general collection interface, say Mapper, a Box (i.e. a singleton set) could implement it just as well as a List or a Tree.

  • I realize that mathematically speaking a singleton set is still a set, but as a programmer who is used to map operations in other mainstream languages, I was expecting some kind of loop in the implementation. It took a few page faults in my brain to realize what's going on.

    • Your understanding is quite incomplete. Wait till you think about the mapping operation for functions. Then there’s no loop, just function composition.