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

2006-10-11 Thread Neil Mitchell

Hi,


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.


Just for reference, Yhc.Core is deeply loved and very close to my
heart. There are disadvantages to Yhc Core (no types, relatively new
API, only works with Yhc accepted Haskell, can't compile Core files)
and advantages (loved, simple, stable, used, pretty). I'm currently
addressing the last disadvantage, so it will soon be able to compile
Core files.

Not wanting to poach GHC users, but for some projects Yhc.Core might
be a better choice. I use it for my PhD, for DrHaskell, and a few
other small projects and its really handy to have. I looked at GHC
Core first, but didn't get very far, partly because it looks a bit
ugly :)

See http://haskell.org/haskellwiki/Yhc/API/Core

Thanks

Neil
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2006-10-11 Thread Simon Peyton-Jones
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: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] 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
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] GHC Core still supported?

2006-10-10 Thread Jim Apple

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