I would still vote for that error in the 'worst ghc error message contest'. I got it just last night with 6.13 when I tried to run the Setup.hs function in base:

~/n-heptane/projects/haskell/darcs/base-3.0.3.2 $ rm Setup.o Setup.hi
~/n-heptane/projects/haskell/darcs/base-3.0.3.2 $ ghc --make -O2 Setup.hs -o s
[1 of 1] Compiling Main             ( Setup.hs, Setup.o )

Setup.hs:1:1:
    attempting to use module `Prelude' (./Prelude.hs) which is not loaded
~/n-heptane/projects/haskell/darcs/base-3.0.3.2 $ runhaskell Setup.hs configure

Setup.hs:1:1:
    attempting to use module `Prelude' (./Prelude.hs) which is not loaded
~/n-heptane/projects/haskell/darcs/base-3.0.3.2 $ 

In this case it does at least mention the path to the troublesome file. But I still have no idea why it is not loaded** (In this particular case I don't want it loaded. Though I believe there are other similar situations where I do..)

** well, from experience I know that it is 'not loaded' because it can't decide if it should load the source, or use the version installed in the package library. But the first time I saw the message, I was quite confused. But, perhaps there are other cases when this error can occur? 

- jeremy

On Tue, Mar 2, 2010 at 5:21 AM, Simon Marlow <marlowsd@gmail.com> wrote:
On 02/03/2010 08:59, Josef Svenningsson wrote:
On Mon, Mar 1, 2010 at 11:54 PM, Jeremy Shaw<jeremy@n-heptane.com>  wrote:
is there, by chance, a file named Prelude.hs in the working directory? (the
directory you are in when you type ghci?)
- jeremy

Ah. Thanks! That was indeed the problem.

Though I think ghci:s response could be a little bit more transparent.

Sure, how about this:

$ touch Prelude.hs
$ ghci
GHCi, version 6.12.1: http://www.haskell.org/ghc/  :? for help

Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.

Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
Prelude>

ie. with 6.12.1 it just works.

Cheers,
       Simon