I am using .hi-boot files quite a lot at the moment.  I'm very grateful for the recent
change to a more Haskelly syntax, but I have a couple of suggestions for the GHC team
to implement in their no doubt ample free time. 8-)

(1) Importing a module {-# SOURCE #-} into itself currently produces a warning, but no 
other action
so far as I can see.  I suggest instead that this provoke a check that the .hi-boot 
module accurately
reflects reality.   (Otherwise there is no way of checking is there?)  Or perhaps you 
could add a
pragma {-# RECURSIVE #-} at the top of the module that indicates the presence of a 
.hi-boot file which
should be checked.

(2) Instance declarations (with empty bodies) should be permitted.

(3) There should be an option to pass .hi-boot files through cpp.  This would not be 
particularly useful
to me, as I have already implemented a pre-compilation phase which does just that, but 
it might
be useful for others.

(4) The manual should recommend using say the GHCi :info command to find out that,
say, IO must be called GHC.IOBase.IO.  (If I'd known this it'd have saved me having
to trawl through the GHC sources.)  Obviously one would ideally be able to type IO 
rather
than GHC.IOBase.IO, but my guess would be that this would be (a) harder to implement 
than
the other suggestions, (b) less useful.

Happy New Year by the way.  If any Simon is still reading, about long have we got 
before the 
current old library hierarchy is done away with in an official release?  Sometime 
before then 
I will need to carry out a massive global-exchange.
_______________________________________________
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to