A Virtual Machine for Live Coding Language Design

Graham Wakefield, and Charles Roberts

Proceedings of the International Conference on New Interfaces for Musical Expression

Abstract:

The growth of the live coding community has been coupled with a rich development of experimentation in new domain-specific languages, sometimes idiosyncratic to the interests of their performers. Nevertheless, programming language design may seem foreboding to many, steeped in computer science that is distant from the expertise of music performance. To broaden access to designing unique languages-as-instruments we developed an online programming environment that offers liveness in the process of language design as well as performance. The editor utilizes the Parsing Expression Grammar formalism for language design, and a virtual machine featuring collaborative multitasking for execution, in order to support a diversity of language concepts and affordances. The editor is coupled with online tutorial documentation aimed at the computer music community, with live examples embedded. This paper documents the design and use of the editor and its underlying virtual machine.

Citation:

Graham Wakefield, and Charles Roberts. 2017. A Virtual Machine for Live Coding Language Design. Proceedings of the International Conference on New Interfaces for Musical Expression. DOI: 10.5281/zenodo.1176248

BibTeX Entry:

  @inproceedings{gwakefield2017,
 abstract = {The growth of the live coding community has been coupled with a rich development of experimentation in new domain-specific languages, sometimes idiosyncratic to the interests of their performers. Nevertheless, programming language design may seem foreboding to many, steeped in computer science that is distant from the expertise of music performance. To broaden access to designing unique languages-as-instruments we developed an online programming environment that offers liveness in the process of language design as well as performance.  The editor utilizes the Parsing Expression Grammar formalism for language design, and a virtual machine featuring collaborative multitasking for execution, in order to support a diversity of language concepts and affordances. The editor is coupled with online tutorial documentation aimed at the computer music community, with live examples embedded. This paper documents the design and use of the editor and its underlying virtual machine.},
 address = {Copenhagen, Denmark},
 author = {Graham Wakefield and Charles Roberts},
 booktitle = {Proceedings of the International Conference on New Interfaces for Musical Expression},
 doi = {10.5281/zenodo.1176248},
 issn = {2220-4806},
 pages = {275--278},
 publisher = {Aalborg University Copenhagen},
 title = {A Virtual Machine for Live Coding Language Design},
 url = {http://www.nime.org/proceedings/2017/nime2017_paper0052.pdf},
 year = {2017}
}