git.s-ol.nu alive / vector-math
vector-math

Tree @vector-math (Download .tar.gz)

alive-coding

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.

dependencies

  • 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 https://raw.githubusercontent.com/s-ol/lua-rtmidi/master/lua-rtmidi-dev-1.rockspec (optional)
  • busted: luarocks install busted (optional, for tests)
  • discount: luarocks install discount (optional, for docs)
  • ldoc: luarocks install https://raw.githubusercontent.com/s-ol/LDoc/moonscript/ldoc-scm-2.rockspec (optional, for docs)

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

docs

With make the HTML documentation is generated in docs/. The latest documentation is publicly available online at alv.s-ol.nu.

starting the copilot

$ bin/alv <session.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+):

$ love bin/alv-love <session.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