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