recursive import problems

Serge D. Mechveliani mechvel at botik.ru
Sat Aug 12 09:17:13 EDT 2006


Dear GHC team,

Can you, please help me with recursive import?

I have a certain large project which compiles under ghc-6.4.1.

Then I add a certain import declaration to the module  Dumatel.Reduce,
which leads to import loop, and `make' (under Cabal) reports

---------------
Module imports form a cycle for modules:
  Bool0
    imports: Dumatel.Reduce Parse2 Parse1 Prelude4 Prelude3_1 Prelude3
             Prelude2_0 Prelude2 Prelude1 Prelude00 Prelude0 List Maybe 
             Data.Map Data.Set
  Dumatel.Reduce
    imports: Prelude5 Debug.Trace NewUnify Parse1 Prelude4 Prelude3_0
             Prelude3 Prelude2 Prelude1 Prelude00 Prelude0 List Maybe 
             Data.Map Data.Set
  Prelude5
    imports: Bool0 Dumatel.Reduce Parse1 Prelude4 Prelude3_1 Prelude3_0
             Prelude3 Prelude2_0 Prelude2 Prelude1 Prelude00 Prelude0 
             List Char Maybe Data.Map Data.Set
--------------------

I am trying the  .hs-boot  modules and {-# SOURCE #-} import
for each of the above 3 modules.
And fail, because the situation is much more complex than in the GHC 
guide examples.

Does GHC provide a tool for automating producing a .hs-boot module from
.hs module? Because this is tedious to convert from a large .hs module 
by hand.

It tried short variants for .hs-boot with exporting a single type
instead of many items in .hs.  But this was not sufficient. 

If I send you the source project, could you show me the simplest
.hs-boot modules and import pragmas that enable to `make' it
? 

-----------------
Serge Mechveliani
mechvel at botik.ru


More information about the Glasgow-haskell-users mailing list