An Haskell compilation server

Michael Hanus mh@informatik.uni-kiel.de
Wed, 17 Jan 2001 10:50:37 +0100 (MET)


Sebastien Carlier wrote:
> How about turning ghc into a compilation server ?
> It would run as a daemon waiting for network
> connections, retrieve source files (through the
> same network socket, or nfs, or cvs, ...), compile
> them locally, and send back the result.
> This would prevent having to reload the compiler
> for each file - as the executable is quite large, this
> may already speed up compilation a bit.
> It could also cache .hi files, which would remove
> the need to parse them.
> It would also enable distributed compilation, on a
> properly configured site. That would be easy to do
> with hmake.
> There are many details to think about (should the
> parsing be made locally by the driver, or remotely...).
> How does it sound ?

This is a good idea. We have done this for our Curry implementation
(http://www.informatik.uni-kiel.de/~pakcs)
(Curry is an extension of Haskell to deal with logic and concurrent
programming features) and made very good experiences with it,
in particular, there was a considerably speed-up when recompiling
larger applications.

Michael