ICFP 2016 Workshops
21st ACM SIGPLAN International Conference on Functional Programming (ICFP 2016)
Powered by
Conference Publishing Consulting

4th International Workshop on Functional Art, Music, Modelling and Design (FARM 2016), September 24, 2016, Nara, Japan

FARM 2016 – Proceedings

Contents - Abstracts - Authors

4th International Workshop on Functional Art, Music, Modelling and Design (FARM 2016)


Title Page

Message from the Chairs
It is our great pleasure to welcome you to FARM 2016, the 4th ACM SIGPLAN International Workshop on Functional Art, Music, Modelling and Design! The ACM SIGPLAN International Workshop on Functional Art, Music, Modelling and Design (FARM) gathers together people who are harnessing functional techniques in the pursuit of creativity and expression. Functional Programming has emerged as a mainstream software development paradigm, and its artistic and creative use is booming. A growing number of software toolkits, frameworks and environments for art, music and design now employ functional programming languages and techniques. FARM is a forum for exploration and critical evaluation of these developments, for example to consider potential benefits of greater consistency, tersity, and closer mapping to a problem domain. By gathering researchers, practitioners, artists, designers and anyone interested, FARM aims to develop this interdisciplinary field. Work in this challenging area has already led to new language designs, abstraction techniques, and execution models, as well as the use of old ideas in new, novel, and surprising ways.

Full Papers

Bithoven: Gödel Encoding of Chamber Music and Functional 8-Bit Audio Synthesis
Jay McCarthy
(University of Massachusetts, USA)
Bithoven is a prolific composer of approximately 1.079363 * 10^239 different compositions based on four-part harmony and basic chord progressions. It is combined with a purely functional audio synthe- sis engine based on the Ricoh RP2A03, found in the 1985 Nintendo Entertainment System (NES). The synthesis engine is parameter- ized over a band of instruments and styles of play, so each com- position can be played in one of approximately 4.22234 * 10^41 different arrangements or "NEStrations".
Publisher's Version Article Search Info
Juniper: A Functional Reactive Programming Language for the Arduino
Caleb Helbling and Samuel Z. Guyer
(Tufts University, USA)
This paper presents the design and implementation of Juniper: a functional reactive programming language (FRP) targeting the Arduino and related microcontroller systems. Juniper provides a number of high level features, including parametric polymorphic functions, anonymous functions, automatic memory management, and immutable data structures. Also included is a standard library which offers many useful FRP signal processing functions. Juniper is translated to standard C++ and compiled with the existing Arduino development tools, allowing Juniper programs to fit on resource-constrained devices, and enabling seamless interoperability with existing C++ libraries for these devices.
Publisher's Version Article Search
Arrp: A Functional Language with Multi-dimensional Signals and Recurrence Equations
Jakob Leben
(University of Victoria, Canada)
We present a new functional programming language for digital signal processing (DSP) named Arrp, in which signals are regarded as multi-dimensional arrays with an infinite dimension representing time, and defined using quasi-affine recurrence equations. An immediate benefit is an intuitive syntax that is very close to common mathematical notation used in DSP. Code reuse, especially in multi-dimensional and multi-rate signal processing, is supported through polymorphic and higher-order functions. We describe the differences between our approach and other paradigms in the domain, demonstrate the benefits of the language, and outline a method for compilation of the language into efficient C++ code using the polyhedral model. Preliminary experimental evaluation of our compiler shows that Arrp executes as fast or faster than hand-written C++ code, without explicit parallelization.
Publisher's Version Article Search Info
Structured Reactive Programming with Polymorphic Temporal Tiles
Simon Archipoff and David Janin
(LaBRI, France; University of Bordeaux, France)
In functional reactive programming (FRP), system inputs and outputs are generally modeled as functions over continuous time (behaviors) whose future values are governed by sudden changes (events). In this approach, discrete events are embedded into piece-wise continuous behaviors. In the field of reactive music system programming, we develop an orthogonal approach that seems to better fit our need. Much like piano keys can be played and combined both in sequence and in parallel, we model system inputs and outputs as spatio temporal combinations of what we call temporal values: continuous functions over time whose domain lays between two events: a start and a stop event. Various high level data types and program constructs can then be derived from such a model. They are shown to satisfy robust algebraic and category theoretic properties. Altogether, this eventually provides a simple, robust and elegant programming front-end, temporal tile programming, for reading, memorizing, stretching, combining and transforming flows of inputs into flows of outputs. Although at its infancy, the resulting approach has been experimentally validated for reactive and real-time music system programming.
Publisher's Version Article Search
o.OM: Structured-Functional Communication between Computer Music Systems using OSC and Odot
Jean Bresson, John MacCallum, and Adrian Freed
(IRCAM, France; CNRS, France; UPMC, France; University of Califorina at Berkely, USA)
O.—odot—is a portable media programming framework based on the OSC data encoding. It embeds a small expression language which allows writing and executing programs in OSC structures. The integration of programming and declarative functional descriptions within data transfer protocols enables structured and expressive communication in media systems: program snippets can be distributed in OSC messages, which evaluate to further OSC messages in the different communicating software. We present experiments using this framework in the OpenMusic computer-aided composition environment, and illustrate via case studies some advantages of such integrated system.
Publisher's Version Article Search
A Livecoding Semantics for Functional Reactive Programming
Tom E. Murphy
(vivid-synth.com, USA)
Livecoding, while extremely powerful for the arts and beyond, has largely had its semantics tied to pervasive direct mutation of state. For the most part, livecoders have not been able to take full advantage of declarative programming, particularly when dealing with side-effects and the outside world. We present a semantics and implementation for functional reactive programming in the context of livecoding, with code hot-swap as a first-class operation. Programmers are freed from juggling low-level details, allowing them to write in a more declarative style and reap the benefits of pure functional programming.
Publisher's Version Article Search

Calls for Collaboration

Call for Collaboration: Computational Musicology, ????, Profit
Chris Ford
(ThoughtWorks, UK)
In this paper I examine the relationship that complexity theory and disjunctive sequences have to music, music-generating programs and literary works. I then apply these ideas by devising a program to generate an infinite ‘Copyright Infringement Song’ that contains all other songs within it. I adopt literary modes of analysis and presentation, which I motivate by arguing that music is a cultural and artistic phenomenon rather than a natural one.
Publisher's Version Article Search


FARM 2016 Demo Summary
Michael Sperber and David Janin
(Active Group, Germany; Bordeaux INP, France; University of Bordeaux, France)
This is a summary of the demos presented at the 4th ACM SIGPLAN International Workshop on Functional Art, Music, Modelling and Design, prepared prior to the event itself. The submitted abstracts of these demos are available on the FARM 2016 web site at http://functional-art.org/2016/.
Publisher's Version Article Search Info
FARM 2016 Concert: Live Music and Visuals Produced through Functional Programming
Renick Bell
A concert of performances employing functional programming techniques will take place at FARM 2016 in Nara, Japan. Eight performances will be presented on a large full-range sound system with video projection on two walls. Performances will include live coding and generative systems used for both audio and visuals.
Publisher's Version Article Search

proc time: 0.02