I think you probably mean ==, the comparison operator (function), not
= (assignment in let-forms or where-forms)
-Ross
On Mar 29, 2009, at 1:40 PM, michael rice wrote:
Hi,
Thanks again for the help last night.
The second function cf2 is an attempt to reverse the process of the
first function, i.e., given a rational number it returns a list of
integers, possibly infinite, but you shouldn't get into trouble if
you use 98%67 as input (output should be [1,2,6,5]). The interpreter
is complaining about the '=' following the 'in' keyword. Is there a
better way to state this?
Michael
import Data.Ratio
cf :: [Int] -> Rational
cf (x:[]) = toRational x
cf (x:xs) = toRational x + 1 / cf xs
cf2 :: Rational -> [Int]
cf2 a = let ai = toRational (floor ((numerator a) / (denominator a)))
in
if a = ai
then [a]
else ai : cf2 ((toRational 1) / (subtract ai a))
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe