This bug report supplied by Manuel Chakravarty.
Seems to be fixed in nhc98-1.00 onwards.

----
I guess, it is just me being cursed, but this `zapping'
business seems be some bug in the code generation or runtime
system of nhc.  After simplify the test a little, it
actually dumped core on me.  I wrapped the relevant files up
into a tar ball, which is attached below.

You can build it with

  % hmake *.hs
  % nhc98 -o bug *.o

Running `./bug' should give you the core.  If you look at
the end of the file `LexerTest.hs', you will find an
alternative `main' definition, which is only different by
one character and runs fine.  The third `main' definition, a
couple of lines above the other two, is the one which gives
the `zapped' message (but to run it, you have to remove the
{- -} comment, which I used to reduce the size of the
function `lexer' for testing purposes).

The two functions `lexide' and `lexer' crucially rely on
building graphical structures with cycles in the heap - I
guess something gets messed up while constructing them.
See, in particular, the function `Lexers.star'.  (`Lexers'
is a nice example for something that you just can't do with
a strict language.)  The code runs fine with ghc and hugs.
--

