Send Beginners mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
http://www.haskell.org/mailman/listinfo/beginners
or, via email, send a message with subject or body 'help' to
[email protected]
You can reach the person managing the list at
[email protected]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Beginners digest..."
Today's Topics:
1. Re: Error with floats in implementation of Horner's method.
(Brent Yorgey)
----------------------------------------------------------------------
Message: 1
Date: Fri, 13 Dec 2013 21:21:32 -0500
From: Brent Yorgey <[email protected]>
To: [email protected]
Subject: Re: [Haskell-beginners] Error with floats in implementation
of Horner's method.
Message-ID: <[email protected]>
Content-Type: text/plain; charset=us-ascii
Right. The problem is that when you write
let a = [1,2,3,4]
at the GHCi prompt, the Evil Monomorphism Restriction forces it to
have a monomorphic type, and GHCi picks [Integer]. I recommend that
you turn off the Monomorphism Restriction, which you can do in one of
the following ways:
1) Type :set -XNoMonomorphismRestriction at the GHCi prompt
2) Add :set -XNoMonomorphismRestriction to your ~/.ghci file.
If you do the latter then you only have to do it once, and from then
on the MR will always be turned off in GHCi.
With the MR turned off,
let cs = [1,2,3,4]
will result in cs :: Num a => [a] which will work the way you expect.
-Brent
On Fri, Dec 13, 2013 at 04:51:25PM -0500, Andrew Fleckenstein wrote:
> I know Num is a class, and Double is an instance of the Num class. I guess
> using Num would make it more generic, but I don't see why either one would
> be better in this particular function.
>
>
> On Fri, Dec 13, 2013 at 4:20 PM, Kim-Ee Yeoh <[email protected]> wrote:
>
> >
> > On Sat, Dec 14, 2013 at 4:07 AM, Andrew Fleckenstein <
> > [email protected]> wrote:
> >
> >> I know it has something to do with types,
> >
> >
> > Right! :)
> >
> >
> >> but whenever I try to add a type signature to the functions it just
> >> messes everything up even more.
> >
> >
> > This works: let a :: [Double]; a = [-1,2,-6,2]
> >
> > This works too: let a :: Num a => [a]; a = [-1,2,-6,2]
> >
> > What do you think are the pros and cons of either?
> >
> > -- Kim-Ee
> >
> > _______________________________________________
> > Beginners mailing list
> > [email protected]
> > http://www.haskell.org/mailman/listinfo/beginners
> >
> >
> _______________________________________________
> Beginners mailing list
> [email protected]
> http://www.haskell.org/mailman/listinfo/beginners
------------------------------
Subject: Digest Footer
_______________________________________________
Beginners mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/beginners
------------------------------
End of Beginners Digest, Vol 66, Issue 11
*****************************************