
Haskell the language allows arbitrary recursive modules. Implementations differ in how they support this. GHC's module-at-a-time compilation model means that GHC needs an hs-boot file to "get started". The manual tries to explain what you can and can't do. If you follow the rules it works pretty well. We use recursive modules extensively for compiling GHC itself, and it's just fine with 'make'. (ghc -M does the right thing.) The other thing to say is that GHC's story has improved a lot since earlier versions. You now write "hs-boot" files (in source code form) rather than "hi-boot" files (in interface-file syntax). And the hs-boot file is checked when you compile the master .hs file. It's far from perfect, but I think it does the job. Simon | -----Original Message----- | From: glasgow-haskell-users-bounces@haskell.org [mailto:glasgow-haskell-users- | bounces@haskell.org] On Behalf Of Serge D. Mechveliani | Sent: 03 June 2006 08:37 | To: glasgow-haskell-users@haskell.org | Subject: recursive import | | People, | | Who knows, please, how usable are currently recursive module imports | in Haskell, in GHC ? | Is it essentially more difficult to `make' and support a project | which has 50 modules, and half of all the module pairs import each | other? | Is recursive import in Haskell-98 ? | | Thank you in advance for explanation. | | ----------------- | Serge Mechveliani | mechvel@botik.ru | _______________________________________________ | Glasgow-haskell-users mailing list | Glasgow-haskell-users@haskell.org | http://www.haskell.org/mailman/listinfo/glasgow-haskell-users