[Haskell-cafe] On to applicative
Vo Minh Thu
noteed at gmail.com
Thu Aug 26 02:02:56 EDT 2010
2010/8/26 michael rice <nowgate at yahoo.com>
>
> From: http://en.wikibooks.org/wiki/Haskell/Applicative_Functors
>
> =============================
> import Control.Applicative
>
> f :: (a -> b -> c)
> fmap :: Functor f => (d -> e) -> f d -> f e
> fmap f :: Functor f => f a -> f (b -> c) -- Identify d with a, and e with (b -> c)
>
> sumsqr :: Int -> Int -> Int -- my f
> sumsqr i j = i*i+j*j
> =============================
>
> I'm trying to understand how the above works but...
>
> [michael at localhost ~]$ ghci
> GHCi, version 6.12.1: http://www.haskell.org/ghc/ :? for help
> Loading package ghc-prim ... linking ... done.
> Loading package integer-gmp ... linking ... done.
> Loading package base ... linking ... done.
> Loading package ffi-1.0 ... linking ... done.
> Prelude> :l bozo.hs
> [1 of 1] Compiling Main ( bozo.hs, interpreted )
>
> bozo.hs:5:0: Invalid type signature
> Failed, modules loaded: none.
> Prelude>
Hi,
The fifth line has the form
x y :: ...
instead of
x :: ...
This is not a legal type signature.
Furthermore, you can't give fmap two signatures in the same source file.
The reason this is given on the page you linked is for demonstration
purpose (well, I guess, I haven't read it).
Cheers,
Thu
More information about the Haskell-Cafe
mailing list