Great bug!  This has been lurking quite a while.

You'll be happy to hear that I've taken the opportunity to tidy up
hi-boot handling quite
a bit.  In particular, as well as fixing this bug, I've also implemented
hi-boot file consistency
checking.  When compiling M.hs, GHC will complain if M.hi-boot is
inconsistent with it.

All this is in the HEAD.  It's much too much to transfer to 6.2.2.  If
the bug below is a really major problem I might be able to hack up a
fix, but I'd rather not.  Just use a data type instead.

Thanks for boiling this down into a nice small case. It saves a lot of
time.

Simon

| -----Original Message-----
| From: [EMAIL PROTECTED]
[mailto:glasgow-haskell-bugs-
| [EMAIL PROTECTED] On Behalf Of George Russell
| Sent: 17 September 2004 10:31
| To: [EMAIL PROTECTED]
| Subject: GHC confused by hi-boot files
| 
| With both ghc6.2 and 6.2.20040915 on Linux, ghc --make cannot compile
| the attached files and produces a confusing error message.
| 
|   # ghc --make View.hs
| Chasing modules from: View.hs
| Compiling ViewType         ( ./ViewType.hs, ./ViewType.o )
| Compiling VersionGraphClient ( ./VersionGraphClient.hs,
./VersionGraphClient.o )Compiling View
| ( View.hs, View.o )
| 
| View.hs:14:
|      Couldn't match `VersionGraphClient' against `VersionGraphClient'
|       Expected type: VersionGraphClient
|       Inferred type: VersionGraphClient
|      In the `graphClient1' field of a record
|      In the record construction: View {graphClient1 = graphClient}
| 
| However ghc without make has no problems.
| 
| # ghc -c ViewType.hs
| # ghc -c VersionGraphClient.hs
| # ghc -c View.hs
| 
| best wishes to all Simons!
| 
| 

_______________________________________________
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to