Yeah, the REPL story's a bit of a mess, but Haskellers tend to forget that.
Just to mention it here, IHaskell solves a lot of the annoyances with ghci. Easy multi-line input, don't need let in front of functions, can define modules and load them (automatically compiled), etc. I think they are working on support for template haskell too (important for experimenting with lens code etc)
Oops, I missed that. Indeed example is not REPL ready.