Dealing with implementation differences

Simon Peyton-Jones simonpj@microsoft.com
Tue, 17 Jul 2001 01:16:18 -0700


| How does one deal cleanly with implementation differences,=20
| e.g. things like isAscii being defined in Hugs but not in=20
| GHC? I'd hate to resort to Makefile trickery and preprocessing.

isAscii is certainly defined in GHC.  It's in module Char, like the
language definition says.

| Btw, the reason I want to run the same sources with Hugs and=20
| GHC is that I have a compiler whose parser is generated with=20
| Happy.=20

Provided you stick to Haskell98, the same sources should run on both.

| Compiling the parser on a smallish computer takes ages=20
| and I don't need the efficiency at this stage anyway. On the=20
| other hand, I find the error messages given by GHC very good.=20
| If someone can suggest another compiler to try out or a way=20
| to reduce the time needed for compiling the parser, I'd be=20
| grateful. The parser is about 3500 lines of Haskell.

Hugs compiles really fast.  The interactive version of GHC compiles
much slower, but much faster than the batch version.  ghc --interactive.
[GHC 5.02 at least.]

Simon