Hello, On Saturday 24 February 2007 15:02, Neil Mitchell wrote: > Hi Thorkil, > > I looked at this code a few days ago, and I really couldn't figure out > what was going on! As far as I can tell: > > Package.hs, line 64: > > case (local,res) of > ([x], _) -> return x > (_, [x]) -> return x > ([], []) -> raiseError $ ErrorFileNone noErrPos askMsg file rs > (as, bs) -> raiseError $ ErrorFileMany noErrPos askMsg file (map > anyOne (as ++ bs)) > ... > Your patch makes the last case demand (:) for both arguments - since > case statements in Haskell match top to bottom, that means you'll just > end up with a crash otherwise. The actual property is that one must be > non-empty, not both. I really couldn't see what this is failing, but > I'll have a quick Debug.Trace fest later. > ...
You are right, my patch is wrong. Here are some additional notes: At some point, I had getModule reporting additional information using: ... raiseError $ ErrorFileMany noErrPos (askMsg++" (as,bs)=<"++show (as,bs)++">") file (map anyOne (as ++ bs)) This resulted in the following: Thorkil-Naurs-Computer:~/tn/test/Yhc/multiple thorkilnaur$ yhc T1.hs yhc: Error: Found file multiple times, T2 Reason: imported from Main (as,bs)=<([],[])> Found in: Thorkil-Naurs-Computer:~/tn/test/Yhc/multiple thorkilnaur$ This indicates that the ghc-6.6 pattern matching is not working as we expect. Best regards Thorkil _______________________________________________ Yhc mailing list [email protected] http://www.haskell.org/mailman/listinfo/yhc
