Packages and modules

seth at cql.com seth at cql.com
Fri Jul 7 03:52:46 EDT 2006


> "Simon Peyton-Jones" <simonpj at microsoft.com> writes:
>
>> Brian Hulley wrote:
>
>> |   import A.B.C( T1 ) from "foo"
>> |   import A.B.C( T2 ) from "bar"
>> |   type S = A.B.C.T1 -> A.B.C.T2
>
>> | I'd suggest that the above should give a compiler error that A.B.C is
>> | ambiguous (as a qualifier), rather than allowing T1 to disambiguate
>> it,
>
>> But that's inconsistent with Haskell 98.
>
> FWIW, I agree with Brian that this is not good practice. If it can't
> be forbidden, I would suggest that compilers emit a warning about it.

Is there really a case where someone would use that pattern intentionally?
 I'd vote for making it an error by default.  Perhaps then a flag would be
available that says "accept dangerous constructs that are legal according
to Haskell 98".

>
> -k
> --
> If I haven't seen further, it is by standing in the footprints of giants
>
> _______________________________________________
> Glasgow-haskell-users mailing list
> Glasgow-haskell-users at haskell.org
> http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
>
>




More information about the Glasgow-haskell-users mailing list