Hi Fabrice,

| I can't seem to reproduce this bug at will. It boils down to:
| 
| # ExFileParse> ("","") == ("","")
| # 
| # Program error: {Show_Bool_showsPrec 0 
| # INTERNAL ERROR: Error in graph
| 
| i.e. (==) applied to args of type (String,String).

I'm afraid that I can't reproduce this bug at all.  More than likely,
it has nothing directly to do with the actual examples that you tried.
I would guess instead that it was caused by something that Hugs had
done previously (or failed to do) which corrupted the heap.  This
typically occurs during garbage collection when something that should
have been preserved has instead been overwritten.  It could be the
result of us having forgotten to "mark" something.  Or it could be a
consequence of optimizations used by your C compiler to put a
particular variable in a register that, for whatever unfortunate
reason, isn't seen by the garbage collector.

Problems like this, with behaviour that is wierd and hard-to-reproduce,
having been dogging us for some time.  I hope that, one day, we will
finally discover and fix the source of any such problems.  However,
in the short term, problems like this can usually be cleared up by
quitting the interpreter, and then restarting it.  Having a workaround
doesn't mean we're happy with this situation, and I would appeal to
anyone encountering a problem like this that they can reproduce quite
reliably to let us know.

All the best,
Mark

Reply via email to