Skip to content
main
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
alv
 
 
bin
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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