[Haskell-cafe] GHC Core still supported?

Simon Peyton-Jones simonpj at microsoft.com
Wed Oct 11 03:47:30 EDT 2006

Jim, and others (I'm ccing GHC users)

External Core is a feature of GHC that is lonely and unloved.  External
Core longs to have someone to look after it, tell it that it is a Truly
Useful Feature, and keep it working.

Seriously, External Core has a strong tendency to bit-rot because (so
far as I can tell) few people seem to use it, and hence it can lag
behind changes in the rest of the compiler.  Yes, in principle we at GHC
HQ should push the entire compiler along in sync, but there are just too
few hours in the day.  Another contributory factor is that some of the
things you might use External Core for can now be done by using the GHC

So the true answer to your title line "Is External Core still
supported?" is "there is no reason it can't be, but in fact at the
moment it probably doesn't work right".  I think this is a pity because
External Core is a pretty good way for people interested in analyses and
back ends to use GHC as a front end that translates all of Haskell into
a small intermediate language.

But all is not lost.  External Core is a good example of a feature that
doesn't require deep knowledge of GHC's internals to understand and
maintain, so it's perfect for someone else to undertake.  

	Is anyone (or a group of people) interested?  
	We'd give plenty of support to such an effort.

Meanwhile, if you want to use External Core, but can't because it
doesn't work properly for you, don't be afraid to yell.  (E.g. File a
Trac bug report.)   I don't want to promise an immediate fix, but the
more people that use it the keener we are to get it done.  



| -----Original Message-----
| From: haskell-cafe-bounces at haskell.org
[mailto:haskell-cafe-bounces at haskell.org] On Behalf Of Jim
| Apple
| Sent: 11 October 2006 02:35
| To: haskell-cafe at haskell.org
| Subject: [Haskell-cafe] GHC Core still supported?
| In
| , I see two notes that I can't verify:
| 1. I don't see any CORE pragma on
| http://www.haskell.org/ghc/dist/current/docs/users_guide/pragmas.html
| 2.  Using GHC 6.5.20060920, I compile
| module Core where
| data Foo = Bar
| with -fext-core to get
| %module main:Core
|   %data main:Core.Foo =
|     {Bar};
| I then compile the resulting hcr file with no flags to get
| <no location info>:
|     1: Parse error
| :
|   %data main:Core.Foo =
|     {Bar};
| Jim
| _______________________________________________
| Haskell-Cafe mailing list
| Haskell-Cafe at haskell.org
| http://www.haskell.org/mailman/listinfo/haskell-cafe

More information about the Haskell-Cafe mailing list