Job for someone: make a VM image for GHC development

Simon Marlow marlowsd at gmail.com
Fri Jun 5 04:38:48 EDT 2009


Hi Philip,

Thanks for looking into this!

On 05/06/2009 08:46, Philip K.F. Hölzenspies wrote:
> I've looked around trying to pick up information on tiny installations
> of Linux. It seems most modern distributions think 200MB is a pretty
> barebone installation. There's a claim by someone that (s)he got a Tiny
> Gentoo installation into 5MB. I'll be looking into that this evening. Of
> the options given (installer vs. VM image), I have most faith in the VM
> image. From what I've seen, installers are still quite large (summed
> total of all downloads required) compared to a to-the-point
> installation.
>
> Could you be slightly more specific on what you want in the image for it
> to be a GHC development environment? I presume darcs is one. Also, I
> presume the GHC source tree isn't. Compiler-wise; do you want/need gcc
> on a system like this, if so, do you still want a binary GHC there? If a
> binary GHC is desired, do you want a bare minimum (w/o extralibs,
> possibly older version), the more elaborate (w/ extralibs), or the whole
> package (Haskell Platform)?
>
> Possibly the easiest VM image to maintain just has the minimum
> requirements to run emerge and a script that, on first boot of the
> image, emerges the haskell platform and darcs. This way, you don't need
> to update the VM image with updates of GHC (or updated dependencies of
> the GHC source tree on newer GHC versions). The upside is a very fast
> download of the image, but the downside is a very slow first boot of the
> image.

So there are lots of different things you could do.  When I posted my 
message I had in mind setting up a VM image that had everything you need 
to hack on GHC itself, but I wasn't exactly clear about that - "GHC 
development environment" could mean an environment for developing 
Haskell code with GHC, and that's what I think most people thought I was 
on about.

Nevertheless, both are useful.  Perhaps a generic Haskell development 
environment as a VM image would be the most useful, but I'm thinking in 
particular about lowering the barrier to entry for those who want to do 
casual hacking GHC itself or its libraries, and for that the VM image 
needs to have a GHC source tree (or two) set up and ready to build.

There's no reason you can't do it all: have a VM image with the Haskell 
Platform, darcs, full documentation, a couple of GHC trees, and all the 
tools you need to build and hack on GHC.  That would be useful for both 
types of users.  Though the size might be a problem - we might have to 
use something like bittorrent as a distribution mechanism rather than 
just putting it up on haskell.org.

The other way is, as you suggest, to build a script that would install 
all the tools on top of a barebones Linux install.  And such a thing is 
almost a necessity if we want to keep rolling out updated VM images from 
time to time.  So I think that's a great way to start.  Given this 
script we can use it to build pre-installed VM images too.

Cheers,
	Simon


More information about the Glasgow-haskell-users mailing list