John,
Thanks, I didn’t know it was
there. I’ll subscribe to it.
Mitchell
From: John Bender
[mailto:john.m.bender@gmail.com]
Sent: Sunday, April 25, 2010 3:01
AM
To: Luke Palmer
Cc:
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!
On Sat, Apr 24, 2010 at 9:57 PM, Luke Palmer <lrpalmer@gmail.com> wrote:
On Sat, Apr 24, 2010 at
10:34 PM, <mitchell@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@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe