
Hi
I had _successfully_ run Catch before with an earlier, buggier version of my code and got no useful information, but I figured I'd try again...
]catch IntegerInTermsOfInt.hs Executing: IntegerInTermsOfInt.hs Compiling Compiling IntegerInTermsOfInt ( IntegerInTermsOfInt.hs ) Loading Core for YHC.Internal Linking... catch: user error (invalid binary data found)
In case it makes a difference, I've compiled and installed latest Yhc-darcs, and Catch-0.1.1
This is the problem, Catch has a copy of the Yhc libraries, and since this morning me and Tom have changed the binary format for Yhc.Core - which means that Catch won't work with Yhc. Both Catch-darcs and Catch-0.1.1 are both broken with respect to the new library interfaces. I will come back and fix up Catch in a short while, but am working on another project at the moment, and am a little busy. If you (or anyone else) has a strong pressing need for Catch, then I may be able to hack it back up quickly, otherwise I'd like to take my time and get a very polished Catch-0.2 out.
-- Bug: the "--_" sequence isn't considered to begin a comment by Yhc. -- I had to put a space between them. Try either of these lines and see the -- ridiculous incorrect errors they create: -- --_ `fd` dsjfkl = dfjs -- --_ `fd` dsjfkl =
That seems like a nhc shared bug, probably in the lexer. I suspect its a moments Haskell foo for Malcolm or Tom, and an interested developer could probably fix it in half an hour - see src/compiler/Parse, and add a test :-)
-- Bug: parenthesized patterns break: -- (which I use in order to make monomorphism clear in either -- H98 m-r or mono-pat-binds) {- test :: Eq a => a -> Bool test a = f a where (f) = \a -> (==) a a -}
Again, an nhc common bug. I've no idea where this should be fixed, but I'm sure Malcolm will know - and it should be possible to fix.
--Bug: removing the default, breaks things: {- default ()
iente :: Integral a => a -> Int iente = fromIntegral -}
No clue, only Malcolm will know, and it may be a nightmare to fix.
--Bug: Always specifying an import list when importing Prelude, --breaks handling of some built-in syntax. However, Hugs also has --this bug so I'll keep my workaround. {- import Prelude ( )
simple :: () simple = () -}
We are aware that importing Prelude () is broken, this is because the renaming code in Yhc/nhc isn't very neat. Me and Tom both had a go at fixing this once, and we got absolutely nowhere. See http://code.google.com/p/yhc/issues/detail?id=81&q=Prelude - which I think might even be from you originally :-) If anyone wants to make the first three into proper issues in the issue tracker, that would be handy. Thanks Neil