| isDigit, readDec, and isAscii are defined in module Char, | not in the Prelude, at least in Haskell 98 | | http://haskell.systemsz.cs.yale.edu/definition/ | | Maybe the version of Hugs you are using is pre-Haskel98. | Anyway, just say 'import Char' I'm afraid that this is a problem with Hugs. The definition of Haskell requires support for mutually recursive modules, but no version of Hugs supports this. Haskell programmers may not use this feature in their own code, but the Haskell standard Prelude does rely on it in fairly significant ways. In particular, the prelude imports functions from some standard libraries, like Char, each of which depends in turn on the Prelude, hence the mutual recursion. To avoid these problems, Hugs includes definitions for the critical components of such libraries in the Prelude. The libraries are also provided, but typically contain nothing more than stubs or blanks. If you want to use isDigit and friends in a Haskell program, then you should "import Char" first, as Simon suggests. Doing that will result in code that works for both Hugs and GHC. Lack of support for mutually recursive modules is a documented weakness of Hugs, but it has never been high enough up the list of priorities to receive much attention. (Unfortunately, it would require a lot of effort to make this work, with arguably little gain.) All the best, Mark
