[LWN Logo]

To: lwn@lwn.net
Subject: Haskell ghc development report
From: Jens-Ulrik Petersen <jens-ulrik.petersen@nokia.com>
Date: 31 Mar 2000 13:52:03 +0900

--=-=-=

Here's a posting by Simon Peyton-Jones (formerly a professor at the
Dept of CS, Glasgow University, now working at Microsoft Research,
Cambridge, UK) who is the lead maintainer of the Haskell compiler ghc.

(I appear in the To field since I asked the question.)

Jens



--=-=-=
Content-Type: message/rfc822
Content-Disposition: inline

From: Simon Peyton-Jones <simonpj@microsoft.com>
To: "Jens-Ulrik Petersen" <jens-ulrik.petersen@nokia.com>,
        glasgow-haskell-users@haskell.org
Cc: "Stephen Jarvis (E-mail)" <Stephen.Jarvis@dcs.warwick.ac.uk>
Subject: RE: ghc-hugs progress/status?
Date: Thu, 30 Mar 2000 00:58:14 -0800
MIME-Version: 1.0

| For those of us who're not following the cvs archive, could the
| maintainers give us a brief summary of recent progress on the ghc-hugs
| "marriage" and other recent ghc work?

A fair question.  Here's a (GHC-centric) summary of the state of play.

* Julian is away this week, but he has just emerged from the final
major chunk of work (re-engineering Hugs's module-loading engine)
required to enable Hugs to load GHC-compiled binaries.  He's had some
examples working.  The plan is to release the first version that will
do this before the end of April.  We think we are out of major code
development and into make-it-work.  So I expect progress to be more
visible from now on.

* Andy has been doing heroic work making more and more of hslibs/,
the libraries that GHC comes with, work with STG-Hugs too.  So the
end-April release should feature a much larger set of common
libraries.

* Stephen Jarvis spent six weeks here on a mini-sabbatical recently.
He has a lovely profile browser that lets you walk over call-graphs
built from a log file that GHC can now dump, thanks to Simon Marlow's
good offices.

This gives you a much much richer picture of the hot-spots in your
program than hitherto.  He's working on the space-profiling side too.
He will soon put his browser into the CVS repository.  Quite when all
this will be ready for use I'm not quite sure -- it depends a lot on
Stephen -- but think a month or two not a year or two.

* Reuben is becoming Mr Windows.  The order of battle is
	a) Make GHC build smoothly on Win2k
	b) Make it so we can easily produce Installshield releases
	c) Make it so that you don't need Cygwin to *use* GHC
		(you'll always need Cygwin to *build* GHC from source)
At the moment (a) is almost done; (b) looks relatively simple, and (c)
is a bit of an unknown.

* Julian was struck by a sudden and irresistable urge to dive into GHC's
native code generator, which has been moribund for some while.  (The
NCG is intended to generate reasonable code, but generate it fast; the
via-C route generates better code, but much slower.)  As a result of
this surge of hormones, the x86 NCG is working all but one dark
corner.  The Sparc, MIPS etc generators are not done.  Any takers?  It
would be much easier now the framework (including much
machine-independent code gen) is done.  We hope that the next release
of GHC will have at least the x86 NCG fully working.

* Simon, Andy Moran and I have worked out a nice story about *asynchronous*
exceptions in Concurrent Haskell.  Simon has implemented it, and tried
it out by writing a Web server in Haskell.  It's all rather nice even
though I say it myself.  The paper is on my home page.

* Simon and I have been in maintenance mode.  Simon has fixed more
bugs than I care to tell you about.  I've simplified the Core data
type a big further (no saturated constructor applications any more).

* Ralf Hinze visited.  We plan to implement his 'generic functions' in
Haskell.  The way we plan to do this is to make the 'default
declarations' in class declaration much more expressive.  In
particular, we should be able to express what 'deriving' means using
these generic declarations, and thereby make it possible for the
programmer to do 'deriving' for any class of his/her own.  (As the
Derive tool does, but more integrated into the language.)  Andrei
Serjantov, who'll be here for a few months from May, will do the
implementation work.

* Sven Panne and Manuel Chakravarty are busy on a substantial FFI library
that should make it easier to write code that interfaces with other
languages.


As ever, we are extremely open to other people joining in and doing stuff.
GHC and Hugs are both completely open-source, and you can easily get access
to the current version via CVS.  Please join in!

Simon

--=-=-=



--=-=-=--