Content deleted Content added
m Date the maintenance tags or general fixes |
No edit summary |
||
Line 1:
In many [[programming language]]s,
For example, if we define a function <code>square</code> as follows:
Line 5:
square x = x * x
Then calling
Map itself may be defined recursively, like this code in Haskell:
Line 13:
==Language comparison==
The map function is especially common in [[functional programming]] languages, but some [[high-level programming language|high-level]] [[procedural programming|procedural]] languages support it as well, and in others it may be defined. [[Common Lisp]] provides a whole family of map-like functions. The one that corresponds to the behavior described here is called <code>mapcar</code>, where the <code>-car</code> designation indicates access using the [[CAR and CDR|CAR operation]]. In [[C++]]'s [[Standard Template Library]], the map function is called <code>transform</code>. In C# (3.0), the map function is provided as an extension method called <code>
==Optimizations==
Line 30:
* <code>fmap (f . g) = fmap f . fmap g -- composition</code>
==Mapping in .NET
The map function in .NET
<source lang="csharp">
|