Live coding

Worp has been designed to allow live editing of the code without interrupting sound playback. New chunks of Lua code can be sent to worp trough a local network socket, and are compiled and executed on the fly. A proof-of-concept vim plugin is available which can send parts of the current file to a running worp process.

Load the plugin with the vim command

:luafile ~/sandbox/prjs/worp/vimplugin.lua<CR>

The plugin currently remaps the following vim key sequences:

  • ,a : send the whole file to worp
  • ,f : send the current function
  • ,p : send the current paragraph
  • ,<CR> : send the current line

Be careful with locals when using live coding: any functions or variables defined local during chunk loading will not be available when loading the next chunk. All code is loaded into the same environment, so use globals instead.