[Haskell-cafe] Facing issue: "No instance for (Fractional a0) arising from a use of ‘it’ The type variable ‘a0’ is ambiguous"
Balraj Singh
erbalrajs at gmail.com
Tue Sep 13 03:09:14 UTC 2016
Thanks Jack it works.
On Tue, Sep 13, 2016 at 12:01 AM, Jack Henahan <jhenahan at me.com> wrote:
>
> The inferred type of findLoot is
>
> findLoot :: (Integral a, Fractional a) => a -> [[a]] -> a
>
> It's impossible to satisfy those constraints.
>
> Rewriting like this does what you want, but there's likely a cleaner way
> to express this algorithm.
>
> findLoot :: (Integral a, Fractional b) => a -> [[a]] -> b
> findLoot val [] = 0.0
> findLoot val ((x:y:[]):xs) | val == 0 = 0.0
> | val < y = ((fromIntegral val) * (fromIntegral x)) /
> fromIntegral y
> | val > y = fromIntegral ((div val y)*x) + (findLoot (mod val
> y) xs)
>
>
>
> Balraj Singh <erbalrajs at gmail.com> writes:
>
> > Hi,
> >
> > I am writing a sample code below and getting an error. Please help to
> resolve
> > it:
> >
> > Code:
> >
> > import Data.List
> >
> >
> > findLoot val [] = 0.0
> >
> > findLoot val ((x:y:[]):xs) | val == 0 = 0.0
> >
> > | val < y = ((fromIntegral val) * (fromIntegral x))
> > / fromIntegral y
> >
> > | val > y = ((div val y)*x) + (findLoot (mod val y)
> > xs)
> >
> >
> > Error:
> >
> > No instance for (Fractional a0) arising from a use of ‘it’
> >
> > The type variable ‘a0’ is ambiguous
> >
> > Note: there are several potential instances:
> >
> > instance HasResolution a => Fractional (Fixed a)
> >
> > -- Defined in ‘Data.Fixed’
> >
> > instance Integral a => Fractional (Ratio a)
> >
> > -- Defined in ‘GHC.Real’
> >
> > instance Fractional Double -- Defined in ‘GHC.Float’
> >
> > ...plus one other
> >
> > In the first argument of ‘print’, namely ‘it’
> >
> > In a stmt of an interactive GHCi command: print it
> >
> >
> > Sample Input and Output:
> >
> > Input 1:-
> > val = 50
> > ((x:y:[]):xs) = [[120, 30], [100,50],[60, 20]]
> > Output 1:-
> > 180.0000
> >
> > Input 2:-
> > val = 10
> > ((x:y:[]):xs) = [[500,30]]
> > Output 2:-
> > 166.6667
>
>
> --
> Jack
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20160913/2f3874a5/attachment.html>
More information about the Haskell-Cafe
mailing list