Tree @main (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
- luasystem:         luarocks install luasystem
- luasocket:         luarocks install luasocket(optional)
- losc:                luarocks install losc(optional)
- lua-rtmidi:        luarocks install lua-rtmidi(optional)
- lua-abletonlink:     luarocks install abletonlink(optional)
- fltk4lua:        luarocks install fltk4lua(optional GUI)
- wxLua (optional GUI)
- LÖVE (optional)
- lua-texture-share-vk: luarocks install lua-rtmidi(optional, with LÖVE)
- busted:            luarocks install busted(optional, for tests)
- ldoc:                luarocks install ldoc(optional, for docs)
- cmark:              luarocks install cmark(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
    
      Commit History
    
    
      @main
    
    
        git clone https://git.s-ol.nu/alive.git
    
    
  
  
  
  
  - lib/random: accept [min max] ranges s-ol a month ago
- lib/love: add text-wrap s-ol a month ago
- lib/link-time: add fade s-ol a month ago
- global tag IDs s-ol a month ago
- lib/love: tsv-output preserves canvas unless name/size changed s-ol a month ago
- lib/osc: fix error when not keeping up with input events s-ol a month ago
- lib/love: floor text coordinates s-ol a month ago
- lib/love: tsv-output takes shape s-ol a month ago
- lib/osc: set socket reuse flag s-ol a month ago
- remove comma from symbol chars s-ol a month ago