Hugs Crashes W2K

ion trigonometric@softhome.net
Mon, 7 Oct 2002 19:54:11 +0100


here is the working code for comparison:

-- Checks whether or not a given Integer is prime
prime:: Integer -> Integer
prime x = if ((x==0)||(x==1)||(x==2)) then error "NUMBER IS PRIME" 
          else
             if x<0 then prime (0-(-x))
             else prime_helper x 2 

-- Used within 'prime' to determine if a number is prime or not
prime_helper:: Integer -> Integer -> Integer
prime_helper x y =
   if ((rem) x y)==0 then error "NUMBER IS NOT PRIME"
   else
      if x==(y+1) then error "NUMBER IS PRIME"
      else prime_helper x (y+1)

----- Original Message ----- 
From: "ion" <trigonometric@softhome.net>
To: <hugs-bugs@haskell.org>
Sent: Monday, October 07, 2002 7:32 PM
Subject: Hugs Crashes W2K


> Hug's crashes when I try to use the 'prime' function
> defined below, note that the function calls prime_helper
> and this is the likely cause of the crash, also note that
> the reason for the crash is probable error in the
> function definition. This is on Windows 2000, is there
> a fix for this (apart from, "don't use windows" ;))
> as otherwise the tool is unusable?
> 
> ion
> 
> -- Checks whether or not a given Integer is prime
> prime:: Integer -> Integer
> prime x = if x==0 then error "x = 0" 
>           else
>              if x<0 then prime (0-(-x))
>              else prime_helper x 2 
> 
> -- Used within 'prime' to determine if a number is prime or not
> prime_helper:: Integer -> Integer -> Integer
> prime_helper x y =
>    if ((rem) x y)==0 then error "NUMBER IS NOT PRIME"
>    else
>       if x==y-1 then error "NUMBER IS PRIME"
>       else prime_helper x y+1