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, 2009-03-15 at 09:13 -0700, Conal Elliott wrote:But that's because of the circularity I described. GHC can chase Haskell
> 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.
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