[Haskell-beginners] applicative style

David Moberg kaddkaka at gmail.com
Thu Sep 24 14:51:11 UTC 2015


This mail got stuck in my spam filter because of auth reason.
Bumping in case someone else who missed it wants to answer.

2015-08-28 19:12 GMT+02:00 Williams, Wes(AWF) <wewilliams at paypal.com>:

> Hi haskellers,
>
> I am trying to understand why I get the following error in learning
> applicative style.
>
> Prelude> let estimates = [5,5,8,8,2,1,5,2]
>
> Prelude> (/) <$> Just $ foldl (+) 0 estimates <*> Just . fromIntegral $
> length estimates
>
>
> <interactive>:54:1:
>
>     Non type-variable argument in the constraint: Fractional (Maybe r)
>
>     (Use FlexibleContexts to permit this)
>
>     When checking that ‘it’ has the inferred type
>
>       it :: forall a r.
>
>             (Fractional (Maybe r), Num a, Num (Int -> Maybe a -> r)) =>
>
>             Maybe r -> Maybe r
>
> All the parts work individually. If use let and assign the parts to x and
> y it also works.
>
> E.g. This works
> let x = Just $ foldl (+) estimates
> Let y = Just . fromIntegral $ length estimates
> (/) <$> x <*> y
>
> I clearly do not understand exactly how these work. :-)
>
> Thanks for any help,
> -wes
>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20150924/b8a84b7d/attachment.html>


More information about the Beginners mailing list