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 _______________________________________________ Yhc mailing list Yhc@haskell.org http://www.haskell.org/mailman/listinfo/yhc