RE: [Haskell-cafe] GHC Core still supported?

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 API. 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. thanks Simon | -----Original Message----- | From: haskell-cafe-bounces@haskell.org [mailto:haskell-cafe-bounces@haskell.org] On Behalf Of Jim | Apple | Sent: 11 October 2006 02:35 | To: haskell-cafe@haskell.org | Subject: [Haskell-cafe] GHC Core still supported? | | In http://www.haskell.org/ghc/dist/current/docs/users_guide/ext-core.html | , 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@haskell.org | http://www.haskell.org/mailman/listinfo/haskell-cafe

Hi, I was just talking yesterday with a group of other students about using the ExternalCore data type as the starting point for a project we're starting to work on with the goal of having more practice implementing various compiler components. We were also talking about the possibility of using GHC as a sort of front-end for this project, down the line, by having it emit external core. Even if we don't end up using it, I think it's a nice feature to have, and I've been wanting to get involved in GHC development. So, I'm volunteering to be at least one of the people to help get it up to speed and keep it there. Aaron On Oct 11, 2006, at 12:47 AM, Simon Peyton-Jones wrote:
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 API.
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.
thanks
Simon
| -----Original Message----- | From: haskell-cafe-bounces@haskell.org [mailto:haskell-cafe-bounces@haskell.org] On Behalf Of Jim | Apple | Sent: 11 October 2006 02:35 | To: haskell-cafe@haskell.org | Subject: [Haskell-cafe] GHC Core still supported? | | In http://www.haskell.org/ghc/dist/current/docs/users_guide/ext-core.html | , 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@haskell.org | http://www.haskell.org/mailman/listinfo/haskell-cafe _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
participants (2)
-
Aaron Tomb
-
Simon Peyton-Jones