Kate I'm sorry not to have replied to your earlier message; I've been away at POPL etc. Incidentally, for implementation-related things, better to use glasgow-haskell-bugs (albeit it's not actually a bug) rather than glasgow-haskell-users. GHC 4.08 (which is the place from which you got your code, I think) uses a "driver" written in perl to coordinate its operations. The driver runs cpp, then GHC itself (a binary called 'hsc'), then gcc, then as, then ld. Run ghc-4.08 with "-v" to see what it does. My bet is that you are running your bits-of-ghc-plus-bits-of-your-own binary directly. So it's not getting all the command-line flags it expects. (nor are they documented, because it's an internal interface). | Main.hs:1: | Could not find interface file for 'Prelude' | in the directories ./*.hi It's not looking in the right directories because it hasn't been told to do so by the command-line flags. If you run ghc-4.08 -v you'll see how the driver communicates which directctories to look in. | Main.hs:3: | Bad interface file:: ./ParseAndRenameFile.hi | ./ParseAndRenameFile.hi:1 Interface file | version error; Expected 0 | found version 408 The version number it expects to find is again communicated by a command line flag. For your purposes you may not care, so one option is to just remove the test. Or ghc-4.08 -v will show you what the driver is saying to hsc. Incidentally, Tim Sheard at OGI is building a modular front end for Haskell, in the spirit of Mark Jones's Typing Haskell in Haskell paper. It might be worth asking him whether it's in a borrow-able state, becuase it's probably less of a monster than GHC. Simon
participants (1)
-
Simon Peyton-Jones