#1409: Allow recursively dependent modules transparently (without .hs-boot or
anything)
---------------------------------+------------------------------------------
Reporter: Isaac Dupree | Owner:
Type: feature request | Status: new
Priority: normal | Milestone: _|_
Component: Compiler | Version: 6.10.2
Severity: normal | Resolution:
Keywords: | Difficulty: Unknown
Testcase: | Os: Unknown/Multiple
Architecture: Unknown/Multiple |
---------------------------------+------------------------------------------
Comment (by guest):
If some ghc hacker have time, please fix this problem.
I waste too much time to fix import cycle problem, it's not `little`
problem, special to big projects.
Example in my projects have 30 files, i got below information by ghc:
------------------> output start <--------------
Module imports form a cycle for modules:
main:Manatee.File[boot]
imports: Manatee.Commander[boot] Manatee.View[boot]
Graphics.UI.Gtk.Gdk.Events Data.ByteString.Lazy.UTF8
Data.ByteString.Lazy Manatee.IORefObject Data.IORef
main:Manatee.View[boot]
imports: Manatee.Page Graphics.UI.Gtk.Abstract.Paned
main:Manatee.Page
imports: Manatee.TabGroup[boot] Manatee.File[boot]
Manatee.ViewList[boot] Manatee.StringBuffer[boot]
Manatee.PageList[boot]
Manatee.IORefObject Manatee.PageBuffer Manatee.Utils
Manatee.View
Graphics.UI.Gtk Control.Monad Data.List System.FilePath
Control.Applicative Data.Function Data.IORef Text.Printf
main:Manatee.TabGroup[boot]
imports: Manatee.PageList[boot] Manatee.Page[boot]
Data.IORef
main:Manatee.PageList[boot]
imports: Manatee.Page[boot]
Data.Set Data.IORef
main:Manatee.Page[boot]
imports: Manatee.View[boot] Manatee.IORefObject[boot]
Manatee.PageBuffer Graphics.UI.Gtk
main:Manatee.PageBuffer
imports: Manatee.ViewList[boot] Manatee.View[boot]
Graphics.UI.Gtk Data.IORef
main:Manatee.ViewList[boot]
imports: Manatee.Page[boot] Manatee.IORefObject[boot]
Manatee.ViewNode[boot] Manatee.View[boot]
Data.Set Data.IORef
main:Manatee.StringBuffer[boot]
imports: Manatee.PageBuffer Graphics.UI.Gtk.SourceView.SourceBuffer
main:Manatee.IORefObject
imports: Manatee.Commander[boot] Manatee.PageList[boot]
Manatee.ViewNodeList[boot] Manatee.ViewList[boot]
Manatee.Utils Graphics.UI.Gtk.Windows.WindowGroup
Graphics.UI.Gtk.Abstract.Container Graphics.UI.Gtk Data.IORef
main:Manatee.View
imports: Manatee.PageList[boot] Manatee.Page[boot]
Manatee.ListZipper Data.Foldable Manatee.ViewNode
Manatee.IORefObject Manatee.PageBuffer Manatee.TabGroup
Manatee.ViewList Graphics.UI.Gtk.Layout.VPaned
Graphics.UI.Gtk.Layout.HPaned Graphics.UI.Gtk.Abstract.Paned
Graphics.UI.Gtk.Abstract.Container Graphics.UI.Gtk Data.List
Data.IORef Control.Monad.Reader Text.Printf Data.Function
Data.Maybe Control.Applicative Control.Monad.State
main:Manatee.ViewNode
imports: Manatee.ViewNodeList[boot] Manatee.ViewList[boot]
Manatee.View[boot]
Manatee.Utils Manatee.IORefObject
Graphics.UI.Gtk.Layout.VPaned
Graphics.UI.Gtk.Layout.HPaned Graphics.UI.Gtk.Abstract.Paned
Graphics.UI.Gtk Data.Function Control.Monad Text.Printf
Data.Maybe
Data.IORef Control.Applicative
main:Manatee.TabGroup
imports: Manatee.PageList[boot] Manatee.Page[boot]
Data.Foldable Data.Sequence Manatee.Utils
Graphics.UI.Gtk.SourceView.SourceBuffer Graphics.UI.Gtk
Data.List
Data.Sequence Control.Monad Text.Printf Control.Applicative
Data.IORef
main:Manatee.ViewList
imports: Manatee.Page[boot] Manatee.View[boot]
Manatee.ListZipper Manatee.IORefObject Manatee.ListZipper
Manatee.Utils Manatee.ViewNode
Graphics.UI.Gtk.Abstract.Container
Graphics.UI.Gtk.Abstract.Paned Graphics.UI.Gtk Text.Printf
Data.IORef Control.Applicative
---------------> output end <-------------
Above information is really less help, if i change one file, i will got
another different output.
I have spend more time to fix this problem along with my project increase
everyday.
I'm really tired....
So please ghc expert fix this problem, then I'm free.
Thanks!
-- Andy
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1409#comment:30>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs