Alastair David Reid
So here's a concrete suggestion:
1) We standardise the definition of various extensions (mptc, unboxed types, etc.) so that if two compilers both claim to support feature X, then they accept the same code. (We're pretty close to this already.)
Note that standardising the definition of mptc (for example) isn't the same as requiring all Haskell compilers to support it.
Here's a list of proposed standards (suggestions for extra features welcome):
MPTC FunctionalDependencies PatternGuards UnboxedTypes TREX PreemptiveConcurrency CooperativeConcurrency ImplicitParameters ExceptionHandling FFI
2) We extend the package definition with a list of features used in the package.
Package { name = "net", extensions = [ "FFI", "ExceptionHandling", ... ], ... }
Sounds like an excellent idea to me. Cheers, Manuel