[Haskell-cafe] Cyclic Inclusions

Henning Thielemann lemming at henning-thielemann.de
Tue Aug 12 10:28:04 EDT 2008


On Tue, 12 Aug 2008, ajb at spamcop.net wrote:

> G'day all.
>
> Quoting Thomas Davie <tom.davie at gmail.com>:
>
>> I'm not sure that it does make a lot of sense -- we allow (mutually)
>> recursive functions, even though they come with an efficiency penalty.
>> Why should we not allow (mutually) recursive modules, even though they
>> too come with an efficiency penalty.
>
> The problem is not mutually recursive modules.  Plenty of statically
> typed languages support mutually recursive modules.
>
> The problem is that it's impossible in general to say what the
> "interface" of a module is by examining the module alone.  This is a
> very unusual property as real-world programming languages go.
>
> You could fix this by, for example, requiring that all symbols
> exported from a module have an explicit type annotation.

As far as I know the real difficulties come from mutually recursive class 
definitions.


More information about the Haskell-Cafe mailing list