[project @ 2000-04-10 12:12:27 by simonpj]
authorsimonpj <unknown>
Mon, 10 Apr 2000 12:12:28 +0000 (12:12 +0000)
committersimonpj <unknown>
Mon, 10 Apr 2000 12:12:28 +0000 (12:12 +0000)
commit940841711bb0c30326a5173d8107c2792919641c
tree3412806bba53753b861a5b63c38d238545958823
parent9957de2fa9fc8b2aea8bffb11f0791db86eb06f5
[project @ 2000-04-10 12:12:27 by simonpj]
Make it so that

(A) All modules imported by Prelude are PrelXXX modules,
    not library modules (notably Ix, Monad were culprits).

    This lines up with the Hugs story, and is more intuitive.

(B) All things needed implicitly by syntax (e.g. do-notation
    needs Monad) come from PrelXXX modules, even if they aren't
    visible when you say 'import Prelude'.

These changes simplify the story, and fix the 'looking for [boot]
interface for Ix' problem.

This change is not quite complete.  I'm committing it so
Simon can finish it off.
17 files changed:
ghc/compiler/basicTypes/Unique.lhs
ghc/compiler/coreSyn/CoreSyn.lhs
ghc/compiler/deSugar/DsCCall.lhs
ghc/compiler/prelude/PrelInfo.lhs
ghc/compiler/prelude/PrelMods.lhs
ghc/compiler/prelude/ThinAir.lhs
ghc/compiler/simplCore/SimplCore.lhs
ghc/lib/std/IO.lhs
ghc/lib/std/Ix.lhs
ghc/lib/std/Monad.lhs
ghc/lib/std/PrelArr.lhs
ghc/lib/std/PrelArrExtra.lhs
ghc/lib/std/PrelByteArr.lhs
ghc/lib/std/PrelHandle.lhs
ghc/lib/std/PrelRead.lhs
ghc/lib/std/PrelST.lhs
ghc/lib/std/Prelude.lhs