Introduction To Haskell
Mapping
Introduction
The map function is a higher-order function that applies a given function to each element of a list, returning a list of results.
From the specification,
A function is higher-order if it takes a function as an argument or returns a function as a result, or does both.
The order of play for this function is,
map function list
In the example, a function is defined to return the square of a number.
The map function applies the sq function to each element in the list. A list of results is returned.
Remember that operators are also functions in Haskell. With standard operators, you can achieve the same effect with,
Example
Triangular numbers are in the following form,
One way to calculate the nth triangular number is the sum of the integers from 1 to n. We can write a simple function to do that and use it as an argument for the map function.
triangular n = sum [1..n] triangular_sequence = map triangular [1..10]
Another way to calculate the nth triangular number, avoiding the summing, is with the following formula,
This can be written as a function, like this,
tri_gen x = floor (x*(x+1)/2)
Pentagonal numbers can be generated using the following formula,
You could write your own function to generate these and then map it onto a list.