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 --=-=-= --=-=-=--