An Haskell compilation server

Simon Marlow
Wed, 17 Jan 2001 01:49:25 -0800

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

Funny you should say that.  The next version of GHC (5.00 - to be
released soon) will have hmake-like functionality enabling it to compile
multiple modules without exiting, caching .hi files between
compilations.  This speeds up compilations by as much as a factor of 2
for large programs.