This is a difficult bug to report because it is hard to repreoduce, and
because it really is quite bizarre. I have found it only on hugs 1.4
(970410) compiled with Microsoft Visual C++ 5.0. It's fine with the same
Haskell program and hugs version on Unix.
We have a large program, split over several modules. One of them modules
is called ELexicon.hs, and consists of a number of lines such as
elexicon "which" = "complementiser"
and similar definitions. The program will load OK until a line in the
file is changed so that in place of "which", we have a string of a
different length. If this change is made, ELexicon.hs is read correctly,
but when a different file is being read later, one of the following
happens:
- unexpected signal
- internal error: discrArity
- internal error: tidyMatch
- internal error: importEntity
The critical thing really the length the string used in place of
"which": if it is 4, 6, 7, 8, or 9 characters you get the error; if it
is 1, 2, 3, 5, 10 or 11, you don't. The contents of the string doesn't
matter: you can even have accented characters in it.
I know this sounds like an April Fool's joke, but it really does happen.
I have spent some time putting trace in findText and functions around
there, but to no avail. Any idea?
-- David
_______________________________________________________________________
David Elworthy <[EMAIL PROTECTED]>
Canon Research Centre Europe Ltd., Guildford, Surrey, UK
URL: http://www.cre.canon.co.uk/
Phone: +44 1483 448844; Fax: +44 1483 448845