
On 7/20/05, John Goerzen
There was a brief discussion on #haskell today about the Haskell standard. I'd like to get opinions from more people, and ask if there is any effort being done in this direction presently.
I think an updated standard is overdue. I find it difficult anymore to write any but the most trivial of programs using pure Haskell 98. Some notable, and widely-used, features developed since then include:
* Overlapping instances
* FFI
* Hierarchical namespace
* Undecidable instances
* All sorts of updates to the standard library
It has been awhile since I wrote a Haskell program that can compile in pure Haskell 98 mode. I think it would benefit everyone if a more up-to-date standard were made available.
I know that some people would like to hold off on such a process until their favorite feature (we'll call it feature X) is finished. I would argue that incremental addendums to the standard should be made more frequently, so that new features can be standardized more easily.
Thoughts?
Who organized the standardization effort last time?
I agree. In fact I think a Haskell 2.0 standard should be decided upon. The benefit of making a full version change like that instead of just adding to the current H98 standard is that there is less pressure to be backwards-compatible. Haskell is beautiful, but it does have its warts. A Haskell 2.0 could incorporate some non-backwards-compatible changes which would make things a bit nicer. There are tons of useful extensions in GHC which should be included.
From my perspective, someone who rarely uses the more exotic extensions, the two main warts is the module system (I would like to be able to "re-export modules qualified", so the user could import MyGraphicsLib and then have access to, say, Button.new and Window.close which would normally reside under MyGraphicsLib.Button and MyGraphicsLib.Window) and also the record system which I'm sure you'll all agree is quite inconvenient (this may suffice: http://research.microsoft.com/~simonpj/Haskell/records.html).
Also, the name "Haskell '98" probably sounded new and fresh back in '97, but it just sounds old and stale now. Version numbers is the way to go, IMO. Like someone pointed out, there is no official committe to decide these things. I suspect that if the GHC folks incorporated a "Haskell 2.0 Proposal"-mode in a future version, which includes the current glasgow-exts along with better module and record systems, consesus could be reached pretty fast. /S -- Sebastian Sylvan +46(0)736-818655 UIN: 44640862