Original-Via: uk.ac.ed.aiai; Wed, 16 Oct 91 17:56:53 BST

> > > | 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.
> > > 
> > > I'm not sure I buy this.
> > 
> > Nor I.  It looks like a confusion of module with compilation unit.
> 
> Certainly not.  I said separate working, not separate compilation.
> What I meant to say was "separate programming by multiple
> programmers".  I plead a headache caused by simultaneously studying
> category theory and microcode :-)

I don't want to be pedantic, but there was also:

   There's always some implementation limit 
   on module size, even with a C compiler..

and an earlier message also mentioned compiler limitations.

As for readability and the demand for separate working, I should say
that there may well be some cases where the natural modularity of a
program leads to mutually recursive modules.  (Your checker example
may qualify.)  If those cases are sufficiently important, that would
justify allowing such modules in the language.

However, I do not think readability and the demand for separate
working should be used to justify module divisions that would 
otherwise be artificial.


Reply via email to