[Haskell-cafe] On to applicative

Ivan Lazar Miljenovic ivan.miljenovic at gmail.com
Fri Aug 27 20:46:51 EDT 2010


On 28 August 2010 10:38, michael rice <nowgate at yahoo.com> wrote:
>
> fmap seems oddly named because no "mapping" takes place, except in the fourth example, where the map is "passed in." Just sayin'.

*ahem* http://en.wikipedia.org/wiki/Map_%28mathematics%29

> Prelude Control.Monad Control.Applicative Data.Char> fmap toUpper getLine
>
> <interactive>:1:13:
>     Couldn't match expected type `Char' against inferred type `[Char]'
>       Expected type: IO Char
>       Inferred type: IO String
>     In the second argument of `fmap', namely `getLine'
>     In the expression: fmap toUpper getLine

Right; this is because the fmap only gets the "Char -> Char" function
inside the IO; but since it's "IO String" rather than "IO Char", this
doesn't type-check.

--
Ivan Lazar Miljenovic
Ivan.Miljenovic at gmail.com
IvanMiljenovic.wordpress.com


More information about the Haskell-Cafe mailing list