logo       

Re: First class modules: msg#00017

lang.haskell.general

Subject: Re: First class modules

On 07-Nov-2000, Tom Pledger <Tom.Pledger@xxxxxxxxx> wrote:
> Supposing that (some version of) Haskell had first class modules, and
> type variables could be universally quantified at the module level,
> would rule 2 of the monomorphism restriction go away?

No.

| Rule 2. Any monomorphic type variables that remain when type
| inference for an entire module is complete, are considered
| ambiguous, and are resolved to particular types using the
| defaulting rules (Section 4.3.4).

Although this rule refers to the "entire module", its typical for
the ambiguity to arise within a single function:

foo = show (read "whatever")

This expression is fundamentally ambiguous unless you somehow
disambiguate what type it is that you are trying to read.
I don't see how first class modules could solve that.

--
Fergus Henderson <fjh@xxxxxxxxxxx> | "I have always known that the pursuit
| of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh> | -- the last words of T. S. Garp.




<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise