On 6/19/07, Thomas Shackell <shackell@cs.york.ac.uk> wrote:
Creighton Hogg wrote:
> Well I think I've run into this problem...maybe. All but one of the
> tests pass, the one that doesn't is the timeLargeArray test, and it
> fails with this error
> yhc: superclassesI InfoUsed (Id 68) [(Type
> class,Ord,"Data.Ix",510:8-510:10)]
> Now my main question is how some PackedStrings can be reversed and
> others not when it looks like everything that uses PackedString imports
> it from SysDeps? The only exception I could find was
> compiler98/DotNet/Show.hs.
Hmmm that's interesting, did you change the compiler source code at all?
You usually get those kind of errors because the compiler has ended up
with a data structure that it wasn't expecting.
Indeed all PackedStrings are imported from SysDeps, the problem is what
happens after that. Sometimes they are used as
string' = packString string
and other times
string' = packString (reverse string)
There doesn't seem to be a lot of logic to the choices ...
Yeah in line with Neal's suggestion, I had added a FakeString module that was imported by SysDeps as PackedString and just provided
unpackPS = id
and
packString = id
I had done something silly where that first one didn't build properly, but now that that's fixed I'm getting errors I don't really understand on 5 of the tests. I'll probably look at them tonight & ask questions about how chunks of the code work.
I'm sorry that I had misunderstood the reversing thing. I had thought you meant that there were two different versions of PackedString, one of which required that trick and the other didn't, analogous to the four versions of ByteString. I guess I'm really confused then why you'd be reversing the strings in the first place.
I'm appreciative of the help,
Creighton