[Haskell-cafe] Re: [Haskell] ANNOUNCE: GHC survey results
bjpop at cs.mu.OZ.AU
Thu Jun 30 04:31:26 EDT 2005
[moved to haskell-cafe]
On Tue, 2005-06-28 at 14:46 -0700, John Meacham wrote:
> Unfortunatly hat suffers from the same problem that pretty much every
> non-trivial preprocessor does, as soon as you start using ghc's special
> or experimental features that have not been added to hat yet, they stop
I agree this is a problem.
> I am not sure what the general solution would be. perhaps
> hat being integrated with ghc?
I think it is preferable to keep them separate. Already a big effort was
put into making hat independent of nhc98.
There will always be more tools that Haskell could use, which must
transform the source code one way or another. I'd rather not see them
all be pushed inside ghc, or whatever other compiler was popular at the
time. It's probably better for ghc's maintainability to keep these tools
out of its source tree (pure speculation on my part though).
> or better yet would be a standard
> interface for ghc to call a preprocessor but at some intermediate level
> where most of the extensions have been sugared away but most of the
> original source structure still exists... the nice thing about a
> standard interface would be that jhc and other compilers could support
> it too. It wouldn't even need to be a plugin based thing, but rather an
> executable that ghc can run and pass commands to it on stdin and read
> results on stdout.
Sounds nicer. Perhaps GHC-as-a-library might be close to what is needed.
There is a danger that we won't be able to settle upon what is the right
core language to use, and some tools will be left out, thus reverting to
the solution employed by hat at the moment.
> Being able to just work on any unmodified program the
> compiler supports is a huge feature.
The problem is that Haskell is being torn in two directions. One
direction is a research vehicle. The other direction is a work-horse.
GHC sits somewhere in the middle, and does an amazing job too. The
trouble is that it has become a fast moving target.
Overall I think Hat's solution is a reasonable compromise between the
competing needs of the tool.
If anything I would like to see the Haskell community produce a Haskell
front end which was compiler neutral. That would facilitate many
interesting projects, and that might even help with the need to support
new extensions as they come along. There are already some candidates
floating around, but it seems they are not widely adopted.
More information about the Haskell-Cafe