views:

144

answers:

2

In computer science, there are two definitions of the word map. The first is as an associative array, a type of container that maps values of one type to values of another type. An example of this is the STL map. The second definition is from functional programming, in which map applies is a function that takes a list and a function, applies the function to all elements of the list in order, and returns a list of results.

What are the origins of the different definitions of map? I'm guessing that the second definition might have come from the mapcar function from McCarthy LISP, but I'm not sure if that was derived from another useful. The first definition makes intuitive sense to me, but I'm not sure where it came from.

+11  A: 

Both of these constructs define a map in the mathematical sense (map M: A -> B).

glebm
To expound on this, the first definition describes a map, whereas the second definition describes the process of mapping. Consider: if you used the function map to map a list to a new list, and put the new and the old list side by side, you would have a map (associative array.)
mquander
+5  A: 

Well, there's the mathematical meaning of map, which is a pairing of elements from one set to another.

Loadmaster