
Hi Malcolm, | Today, I thought I had discovered a bug in ghc. Then I tried hbc | and Hugs, and they also rejected my program with the same error. | nhc98 alone accepts it without complaint. I looked up the Report, | and it seems that the program is indeed incorrect. | | > f x = y | > where | > y | isSpace x = True | > y | otherwise = False For what it's worth, older versions of Hugs would have accepted this too. Only quite recently was it changed to conform to the report. Incidentally, although the above is not valid Haskell, the following should work just fine: f x = y where y | isSpace x = True | otherwise = False The difference is that I haven't repeated the left hand side of the definition in the second equation, which means that it's treated as one definition, not two. All the best, Mark (PS. An even nicer way to write this definition: f = isSpace :-)