corona
Corona is a library for building and controlling virtual machines. It's essentially a clone of Vagrant, with the advantage that it's written in pure Common Lisp, and can be installed simply from Quicklisp.

Corona can be used to create isolated, reproducible development environments so you and your team can work on the same system.

No more 'works on my machine', no more difference between development and production.

Testing

If you have a library that uses an external tool, like a database server or something equally large, you can use Corona to set up a virtual machine and install whatever dependencies you need, so the user doesn't actually have to run anything on their computer.

Additionally, since you can set up multiple virtual machines with different systems, you can use Corona to ensure your library works on most operating systems. This is especially useful for testing compilers and similar applications where portability is critical.

Building

You can use Corona as a build server: Fire up virtual machines of the operating system you want to build on, set them up with everything you need, and run the builds.

Example of a machine definition:

(defmachine my-machine :system (:ubuntu :14.04 :64) :memory 1024) (start my-machine) ;; Bring it up (stop my-machine) ;; Stop it

Depends on: cl-virtualbox, trivial-download, trivial-types, trivial-extract, ironclad, cl-fad, log4cl, anaphora

License: MIT


Virtualization