Skip to content
/ alive Public

experimental livecoding environment with persistent expressions


Notifications You must be signed in to change notification settings


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation


This is an experimental livecoding language and environment, in which expressions persist and update until they are removed from the source code, and the interpreter keeps no state that you cannot manipulate directly in the source. This yields a direct-manipulation like experience with a purely text-based language and works without special editor support.

This README contains a short overview over installation and development processes. For more information, visit the full online documentation.


  • MoonScript: luarocks install moonscript
  • luafilesystem*: luarocks install luafilesystem
  • LPeg*: luarocks install lpeg
  • socket: luarocks install luasocket
  • system: luarocks install luasystem
  • losc: luarocks install losc (optional)
  • lua-rtmidi: luarocks install lua-rtmidi (optional)
  • busted: luarocks install busted (optional, for tests)
  • discount: luarocks install discount (optional, for docs)
  • ldoc: luarocks install (optional, for docs)

* these are also moonscript dependencies and do not neet to be installed manually.


With make the HTML documentation is generated in docs/. The latest documentation is publicly available online at

starting the copilot

$ bin/alv examples/hello.alv

For more information see the getting started guide.

LÖVE / visuals

To use the 'love' module for relatime 2d graphics, the copilot needs to be started using love2d (0.11+):

$ bin/alv-love examples/love2d.alv

running the tests

The tests use the busted Lua unit testing framework. To run all tests, simply start busted in the main directory:

$ busted

To run individual test files, for example to speed up execution during development, simply pass the files as arguments:

$ busted spec/value_spec.moon