Corpus ID: 19651258

LC: a strongly-Timed Prototype-Based Programming Language for Computer Music

  title={LC: a strongly-Timed Prototype-Based Programming Language for Computer Music},
  author={Hiroki Nishino and Naotoshi Osaka and Ryohei Nakatsu},
This paper describes LC, a new computer music programming language currently under development. LC is a strongly-timed prototype-based programming language for live computer music with lightweight concurrency and lexical closure, the design of which takes the emergence of live-coding performance on laptop computers into consideration as a significant design opportunity for a new computer music language. 
LC: A New Computer Music Programming Language with Three Core Features
This paper gives a brief overview of the three core features of LC, a new computer music programming language we prototyped: (1) prototype-based programming at both levels of compositional algorithmsExpand
Mostly-Strongly-Timed Programming in LC
mostly-strongly-timed programming is proposed, which extends strongly- Timed programming with the explicit switch between synchronous context and asynchronous context, if a thread is in asynchronous context and the underlying scheduler is allowed to preempt it without the explicit advance of logical time. Expand


The chuck audio programming language. a strongly-timed and on-the-fly environ/mentality
ChucK is argued for, a general-purpose programming language tailored for computer music that provides a syntax for representing information flow, a new time-based concurrent programming model that allows programmers to flexibly and precisely control the flow of time in code, and facilities to develop programs on-the-fly —as they run. Expand
Self: The power of simplicity
Because Self does not distinguish state from behavior, it narrows the gaps between ordinary objects, procedures, and closures and offers new insights into object-oriented computation. Expand
Programming with time: cyber-physical programming with impromptu
This paper discusses the idea of programming as an activity that takes place within the temporal bounds of a real-time computational process and its interactions with the physical world and ground these ideas within the con- text of livecoding -- a live audiovisual performance practice. Expand
Live coding in laptop performance
This paper presents an introduction to the field of live coding, of real-time scripting during laptop music performance, and the improvisatory power and risks involved, and looks at two test cases, the command-line music of slub utilising Perl and REALbasic, and Julian Rohrhuber's Just In Time library for SuperCollider. Expand
Io: a small programming language
An overview of the Io language and demos of some multi-platform desktop applications written with it are included, well suited for use as both scripting and embedding within larger projects. Expand
A Principled Approach to Developing New Languages for Live Coding
A 3-tiered architecture centering around the notion of a Common Music Runtime, a shared platform on top of which inter-operating client interfaces may be combined to form new musical instruments is described. Expand
Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages
The strengths and weaknesses of the languages are discovered, while dissecting the process of learning languages quickly--for example, finding the typing and programming models, decision structures, and how you interact with them. Expand
Static vs. dynamic type systems: an empirical study about the relationship between type casts and development time
An empirical study with 21 subjects that compares programming tasks performed in Java and Groovy - programming tasks where the number of expected type casts vary in the statically typed language finds that the dynamically typed group solved the complete programming tasks significantly faster for most tasks - but for larger tasks with a higher number of type casts no significant difference could be found. Expand
Live coding: an Overview
An overview on the evolution of Live Coding within the last decade is given, where the performers create and modify their software-based instruments during the performance. Expand
Comparative performance evaluation of Java threads for embedded applications: Linux Thread vs. Green Thread
The experimental results show the relative strengths and weaknesses of the two threading mechanisms with respect to synchronization overhead, I/O efficiency, and thread control. Expand