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