
Alistair wrote [snip]
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. [snip] 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".
participants (1)
-
George Russell