An Haskell compilation server

Michael Hanus
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
(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.