Original-Via: uk.ac.ed.aiai; Thu, 17 Oct 91 16:12:59 BST

> Mutual recursion is a natural part of functional programming style, and
> we shouldn't have to come up with special examples to justify its existence.

If it were equally natural in this case then I think the issue would
never have arisen.

> The reason that the typechecker is written with mutually recursive modules
> is that it is more natural to manage it this way, and that stems directly
> from the fact that mutual recursion is used to write it. 

Not all that directly, since it's not the case that all mutually
recursive procedures generate mutually recursive modules.  Of course
if you draw the module division between the procedures, you will
have to have mutually recursive modules.

> We broke it into modules early on, before it grew so large that it
> couldn't possibly fit into one module.

I thought the reasons you gave above were good ones, but now it looks
like they might be based not on a natural division of functionality
but, ultimately, on some notion of a maximum size for modules.  Is
there really some size that can't _possibly_ fit into one module?



Reply via email to