Prelude and FiniteMap: modifyFM

George Russell
Thu, 20 Jun 2002 18:11:30 +0200

Alistair wrote
> Back when Haskell 1.4 (or 98?) was being designed, I proposed that
> Haskell's rule that the Prelude is implicitly imported into every
> module should be dropped.
I have the more radical solution of abolishing the Prelude altogether.
Instead if you wanted to write

   main = putStrLn (show (2+2))

you would need something like

  import IO
  import Num
  import ReadShow

Of course this would be somewhat tiresome for 1-line programs, but I think
it would in general be more elegant.

I fear thought that Haskell may already have passed the point where such
radical changes are practical, so such a solution could only be implemented
in a new language.

Of course in a sense this is no worse than Alistair's solution, since for sure
in the unlikely event that my solution became part of Haskell 3000, the 
implementors would include a library Prelude allowing users to port old code
by inserting "import Prelude".