This is a significant problem for even some of the more ubiquitous extensions. For instance, there are multiple compilers that implement RankNTypes, but I would not be surprised at all if programs using that extension were not portable across implementations (they're not really even portable across GHC versions).
On Fri, Nov 30, 2012 at 11:05:41PM +0000, Gábor Lehel wrote:And that is the core of the problem. The standard isn't just a list
> Well, I'm not so sure it's a great idea to just bake "what GHC does at
> this moment" (for any particular extension) into the standard without
> really thinking about it. Even then, you have to figure out, in great
> detail, what GHC does, and write it all down! That's not negligible
> effort, either.
of approved features. It needs to describe them in such detail that a
programmer can tell, from the Report alone, whether a particular program
is legal, and if so what it's supposed to do. We don't have that level
of description for these extensions, and creating it will be a lot of
hard work.
Relying on "what GHC does at the moment" has obvious risks for
programmers, it also puts an unfair responsibility on GHC itself. How can
they improve a feature if it's current implementation is the "standard"?
_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime