
Thanks for the clarification, Duncan. Seems an easy partial solution would
be a single pass (before CPP) that notices just the #include directives.
Consult the package database to find those packages. That route would find
direct includes but not indirect ones. An optional and still-easy next step
would be to look inside those includes for further #include directives. I'm
unsure whether the cabal solution is as powerful as the single-level include
method or the recursive one.
- Conal
On Sun, Mar 15, 2009 at 2:34 PM, Duncan Coutts
On Sun, 2009-03-15 at 09:13 -0700, Conal Elliott wrote:
That did it. I've added ":set -package applicative-numbers" to my .ghci and am back in business. Thanks!
IIUC, there's an inconsistency in ghci's treatment of modules vs include files, in that modules will be found without -package, but include files won't. Room for improvement, perhaps.
But that's because of the circularity I described. GHC can chase Haskell imports because it can parse Haskell, but chasing CPP #includes would require us to re-implement cpp. Perhaps we could do it by modifying cpphs.
Duncan