Folks

Marcin is right about this.  It is inconsistent as it stands. 
I propose to delete the sentence "The Preldue module
is always available as a qualified import..." in the first 
para of 5.6.1.

The situation will then be:
  if you don't import Prelude explicitly, you implicitly get
        import Prelude
  if you do import Prelude explicitly, you get no implicit imports

Nice and simple

Simon

| 5.6.1. "an implicit `import qualified Prelude' is part of 
| every module and names prefixed by `Prelude.' can always be 
| used to refer to entities in the Prelude". So what happens in 
| the following?
| 
|     module Test (null) where
|     import Prelude hiding (null)
|     null :: Int
|     null = 0
| 
|     module Test2 where
|     import Test as Prelude
|     import Prelude hiding (null)
|     x :: Int
|     x = Prelude.null
| 
| ghc allows that, it dosen't seem to implement the qualified 
| part of the implicit Prelude import. The report is 
| contradictory: adding `import qualified Prelude' makes 
| Prelude.null ambiguous, and thus names prefixed by `Prelude.' 
| can't always be used to refer to entities in the Prelude.

_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to