Original-Via: uk.ac.st-and.cs; Tue, 15 Oct 91 14:54:37 BST
> > Tony Davie's remarks prompt me to ask: "Who needs mutually recursive modules
> > anyway?". I've never missed the facility in Miranda and my programs
> > are much the clearer for it --- module dependency diagrams with NO
> > directed cycles --- bliss!
>
> Our Haskell in Haskell compiler modules are often unavoidably mutually
> recursive. For small programs you may be right, but for large programs
> mutually recursive modules are almost inevitable:
>
> i) There's always some implementation limit
> on module size, even with a C compiler...
>
> ii) Readability or the need for separate working
> may demand that a large module be broken into parts.
>
> Don't functional programmers write large programs? :-) :-)
>
> Kevin
>
> The Haskell Committee for one, judging from the comments in section 5.4.1
> of the report, stating that Prelude and PreludeCore are mutually recursive!
>
> Mark
>
Yes: I think recursive modules are probably needed. BUT maybe a reasonable
restriction would be not to allow dependency cycles which cut across
module boundaries. I would like to know if any of Kevin's recursive
module structures contain mutually recursive objects in different modules.