[Haskell-cafe] I need help getting started

mitchell at kaplan2.com mitchell at kaplan2.com
Sun Apr 25 11:47:32 EDT 2010


John,

 

Thanks, I didn't know it was there.  I'll subscribe to it.

 

            Mitchell

 

  _____  

From: John Bender [mailto:john.m.bender at gmail.com] 
Sent: Sunday, April 25, 2010 3:01 AM
To: Luke Palmer
Cc: mitchell at kaplan2.com; haskell-cafe at haskell.org
Subject: Re: [Haskell-cafe] I need help getting started

 

Mitchell

 

You might also be interested in the beginners mailing list. I've been
enjoying for about a month now! 

 

http://www.haskell.org/mailman/listinfo/beginners

 

On Sat, Apr 24, 2010 at 9:57 PM, Luke Palmer <lrpalmer at gmail.com> wrote:

On Sat, Apr 24, 2010 at 10:34 PM,  <mitchell at kaplan2.com> wrote:
> Hi,
>
>
>
> I'm just starting to learn, or trying to learn Haskell.  I want to write a
> function to tell me if a number's prime.  This is what I've got:
>
>
>
> f x n y = if n>=y
>
>           then True
>
>           else
>
>           if gcd x n == 1
>
>           then f x (n+1) y
>
>           else False
>
>
>
>
>
> primeQ x = f x 2 y
>
>   where y = floor(sqrt(x))

Pretty good so far.  The only trouble is that the type of x is
inconsistent. In f it is an integer, but in primeQ it is a floating
point (because you are taking its square root).  Getting past this
just involves understanding Haskell's type system peculiarities.
Change that last line to:

   where y = floor (sqrt (fromIntegral x))

And you should be fine.  (Untested)

In the future, post the error that you are getting addition to the
code that is causing it.  That helps us find it faster.

Luke

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe at haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20100425/f27a038e/attachment.html


More information about the Haskell-Cafe mailing list