On Tue, 12 Aug 2008, [EMAIL PROTECTED] wrote:

G'day all.

Quoting Thomas Davie <[EMAIL PROTECTED]>:

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.
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to