
"Brandon S. Allbery KF8NH"
On Apr 20, 2009, at 10:46 , David Leimbach wrote:
Just refuse to use UHC until it conforms. One can refuse to use GHC libraries that use extensions as well for similar reasons. I always think twice when I see something that isn't Haskell 98 in my stack.
So you don't use hierarchical libraries?
For that matter, *GHC* isn't fully Haskell98: http://www.haskell.org/ghc/docs /latest/html/users_guide/bugs-and-infelicities.html#haskell98-divergence
It's about compatibility. An implementation can diverge from the standard, but it should be able to parse the standard code correctly. It is totally okay to add something to the standard, but not remove something from the standard. Because by adding something, you wouldn't break the standard compliant code. But removing anything from standard would prevent any standard code from working correctly. The only thing that would make a standard code break in ghc is
let x = 42 in x == 42 == True
But I believe it is a much smaller issue compared to what UHC has. I believe the standard should be maintained as the intersect of all the valid implementations. If any implementation does not implement all of the standard, according to what should our coders write? -- c/* __o/* <\ * (__ */\ <