Skip to content
/ alive Public

experimental livecoding environment with persistent expressions

License

Notifications You must be signed in to change notification settings

s-ol/alive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 lua-rtmidi (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 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