Write a Blog >>
ICFP 2019
Sun 18 - Fri 23 August 2019 Berlin, Germany

The ACM SIGPLAN International Workshop on Functional Art, Music, Modelling and Design (FARM) gathers together people who harness functional techniques in the pursuit of creativity and expression, or seek such techniques.

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.

Performance evening: to attend the FARM Performance Evening, you will need to purchase a ticket. Please see the Performance Evening Page for more information.

You're viewing the program in a time zone which is different from your device's time zone change time zone

Fri 23 Aug

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

09:00 - 10:00
SoundFARM at Stockholm
Chair(s): Youyou Cong Tokyo Institute of Technology
Csound-expression: Haskell framework for computer music
Screaming in the IO monad
David Janin Bordeaux INP / CNRS LaBRI / Bordeaux University
10:30 - 12:00
Music GenerationFARM at Stockholm
Chair(s): David Janin Bordeaux INP / CNRS LaBRI / Bordeaux University
Music as Language: Putting Probabilistic Temporal Graph Grammars to Good Use
Orestis Melkonian Utrecht University
A Functional Model of Jazz Improvisation
Donya Quick Stevens Institute of Technology, Kelland Thomas Stevens Institute of Technology
Demo: Counterpoint by Construction
Youyou Cong Tokyo Institute of Technology, John Leo Halfaya Research
12:00 - 13:30
13:30 - 15:00
Games and GraphicsFARM at Stockholm
Chair(s): April Gonçalves Roskilde University, Denmark
Fun with Interfaces (SVG Interfaces for Musical Expression)
Benedict R. Gaster University of the West of England, Nathan Renney University of West of England, Carinna Parraman University of West of England
Mobile Game Programming in Haskell
Christina Zeller Keera Studios Ltd, Ivan Perez NIA / NASA Formal Methods
Demo: Kaleidogen
Joachim Breitner DFINITY Foundation
15:20 - 16:30
Live-CodingFARM at Stockholm
Chair(s): Donya Quick Stevens Institute of Technology
Demo: Functors and Music
Heinrich Apfelmus independent
The sound of lambda
Felipe Ignacio Noriega Robot Theater Electronics, Anne Veinberg anne veinberg
16:50 - 18:00
Musical PatternsFARM at Stockholm
Chair(s): Daniel Winograd-Cort Target Corp
Analyzing Music with Prefix Trees
Yan Han University of Cambridge, Nada Amin Harvard University, Neel Krishnaswami Computer Laboratory, University of Cambridge
What Constitutes a Musical Pattern?
Orestis Melkonian Utrecht University, Iris Yuping Ren Utrecht University, Wouter Swierstra Utrecht University, Netherlands, Anja Volk Utrecht University

FARM 2019 Call for Papers

Update (11-May-2019): The FARM submission deadline has been extended to May 27!

Update (18-Apr-2019): Please note that the full paper length is 5-12 pages. Some CFP calls circulated through mailing lists contained an incorrect length range.

Important Dates

Paper submission deadline May 27th
Performance submission deadline May 27th
Author Notification June 17th
Camera Ready June 30th
Workshop August 23rd

Submission link: https://easychair.org/conferences/?conf=farm2019

About FARM

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. FARM encourages submissions from across art, craft, and design, including textiles, visual art, music, 3D sculpture, animation, GUIs, video games, 3D printing and architectural models, choreography, poetry, and even VLSI layouts, GPU configurations, or mechanical engineering designs. Theoretical foundations, language design, implementation issues, and applications in industry or the arts are all within the scope of the workshop.


We welcome submissions from academic, professional, and independent programmers and artists. Paper submissions are invited in three categories:

  1. Original research
  2. Overview / state of the art
  3. Technology tutorial

All submissions must propose an original contribution to the FARM theme. FARM is an interdisciplinary conference, so a wide range of approaches are encouraged. An original paper should have 5 to 12 pages, be in portable document format (PDF), and use the ACM SIGPLAN style guides and template (using the SIGPLAN sub-format). Accepted papers will be published in the ACM Digital Library as part of the FARM 2019 proceedings. See here for information on the options available to authors. Authors are encouraged to submit auxiliary material for publication along with their paper (source code, data, videos, images, etc.); authors retain all rights to the auxiliary material.

Demo proposals

Demo proposals should describe a demonstration to be given at the FARM workshop and its context, connecting it with the themes of FARM. A demo could be in the form of a short (10-20 minute) tutorial, presentation of work-in-progress, an exhibition of some work, or even a combination or a short talk and performance. Demo proposals should be in the form of an extended abstract (500 to 2000 words). A demo proposal should be clearly marked as such, by prepending “Demo:” to the title. Extended abstracts will be published in the ACM proceedings. Please use the ACM SIGPLAN style guides and template (using the SIGPLAN sub-format). Authors are encouraged to submit auxiliary material for publication along with their paper (source code, data, videos, images, etc.); authors retain all rights to the auxiliary material.


FARM also hosts a traditional evening of performances. FARM seeks proposals for live performances which employ functional programming techniques, in whole or in part. We would like to support a diverse range of performing arts, including music, dance, video animation, and performance art. We encourage both risk-taking proposals which push forward the state of the art and refined presentations of highly-developed practice. In either case, please support your submission with a clear description of your performance including how your performance employs functional programming and a discussion of influences and prior art as appropriate.

Performance Evening

23 Augst 2019, 20:30, malzfabrik

An evening of strange and wonderful music and audio/visual work made from computer code. Featuring an international line-up of artists, including groundbreaking livecoders who work directly with the innards of software, writing and manipulating code while a computer runs it, projecting their screens so you can see the code behind the performance.

Performances will include: interactive generated jazz, a co-performance with harmonica and melodica, three duets, a sitar-computer co-performance, audio-visual animations, and a hybrid electric-acoustic violin.

You’ll need a ticket (for a modest price) to attend the concert. You can purchase a ticket on the FARM web page.

What follows is a list of performers with brief notes edited from performer submissions about their performances and bios.

Performance Notes and Bios

Khyal Geometries: Functional Live-Coding for Sitar and DAW

Khyal Geometries is a new project which combines classical, jazz and folk technique on the sitar with improvised live-coding of a digital audio workstation. Modal melodies and choral harmonies on the sitar are combined with synthesis, looping and effects processing mediated in real time by a functional language, resulting in fugues and canons of soundscape which morph from rich and ambient to rhythmic and syncopated.

Shama Rahman

Shama Sarwat Rahman is a British singer-songwriter, sitarist, storyteller, performance artist, filmmaker and actress.

Her albums modernise the Sitar(lineage Pt Ravi Shankar), arranged centrally within layered harmonies, electronic soundscapes & complex grooves to showcase it in different genres and instrumentation. From jazz to dubstep, punk to folk, trip hop to hip hop, swing to bosa nova, her stories start life as poems & take flight as cross-genre songs.

Nick Rothwell

Nick Rothwell is a composer, performer, software architect, programmer and sound artist. He has built media performance systems for projects with Ballett Frankfurt and Vienna Volksoper (choreographer: Michael Klien) and Braunarts, and interactive installations for Sonic Arts Network, TECHNE (Istanbul) and the Kinetica kinetic art fair (London). He has worked at STEIM (Amsterdam), CAMAC (Paris) and ZKM (Karlsruhe) and has composed soundtracks for choreographers Aydin Teker (Istanbul) and Richard Siegal (Laban Centre), and performed with Laurie Booth (Dance Umbrella, New Territories), and at the Different Skies Festival (Arcosanti, Arizona), the ICA, and the Science Museum’s Dana Centre.

As part of the Monomatic project he worked on the design and programming of a laser-controlled virtual church bell tower as the headline art commission for Sound and Music’s Expo Festival in 2009, and a magnetically-triggered modular music box shown at Kinetica, Netaudio London (at the Roundhouse) and the BEAM festival.

Leipzig Live

Leipzig is a music theory library created to represent Bach’s canons. Leipzig uses functional programming concepts in the Clojure programming language as an alternative notation. In the performance Chris Ford will use live looping to play pieces as he writes them, the process of iterating the code mirroring the development of the music. I will also complement it with live performance of harmonica and melodica.

Chris Ford, ThoughtWorks Spain

Chris began to make music with code to compensate for his poor piano technique. It was only later that he realised that programming offers deep insight into musical structures. Over the past few years, Chris has given many talks presenting music theory to programming audiences, covering topics including European classical music, complexity theory, jazz, central African polyrhythms and tuning systems. His work with ThoughtWorks has taken him to many places around the world. Currently, he lives and works in Barcelona.

Ugly Purse Dog

Ugly Purse Dog is a functionally-based, algorithmically generated and interactive jazz piece. In this performance, Dony Quick will play piano solos during some sections, to which the computer will listen respond with its own solos in a different instrument.

Donya Quick, Stevens Institute of Technology

Donya Quick is currently a Research Assistant Professor at Stevens Institute of Technology. Previously she was a Visiting Professor at Southern Methodist University and Lecturer at Yale. Her current work involves research is at the intersection of artificial intelligence, machine learning, music theory, and programming languages. She is also a composer and have dabbled in other creative areas in the past, and she has a life-long interest in aquariums, fish, and aquatic invertebrates.

Off<>zzing the Ckalcuλator

The Ckalcuλator is a lambda-calculus arithmetic calculator for the piano. It is the fourth sub-system of the CodeKlavier project whose goal is to become a domain specific programming language that enables a pianist to live code by playing the piano.

In this performance, duo Off<>zz - Felipe Ignacio Noriega (live coding) and Anne Veinberg (piano), will give a performance in their standard formation of live coding in SuperCollider and piano playing but with the adjustment of Veinberg using the Ckalcuλator system and thus composing and evaluating simple lambda-calculus arithmetic operations and number comparisons with her piano playing.

Felipe Ignacio Noriega

Felipe Ignacio Noriega is a composer, programmer and live-coding artist born in Mexico City and is co-creator of the CodeKlavier together with Anne Veinberg. He collaborates in various settings where a common subject is the incorporation of coding as a performative and aesthetic principle. Ignacio graduated Cum Laude from the Masters in composition at the Conservatorium van Amsterdam in 2013. He has won various composition competitions and grants in the Netherlands including the Young Artist Fund Amsterdam 2015 and the ADE SoundLab 2016. In March 2017 he was awarded a start-phase and development-phase grant from the Creative Industries Fund NL to develop the CodeKlavier. The first work of the CodeKlavier, “hello world”, was the winner of the 2017 Uncaged:Conlon Foundation Composition Competition.

Anne Veinberg, Leiden University/docARTES

Anne Veinberg is an Australian pianist based in the Netherlands and is co-creator of the CodeKlavier together with Felipe Ignacio Noriega. Anne is passionate about music of and for today. She regularly collaborates with composers, actors and technologists to develop new works and musical experiences. Anne is a member of Ensemble Scala for microtonal music, of Apituley’s Locomotive Band for music theatre productions and among others. Anne also joins Felipe Ignacio Noriega to form Off<>zz - a live coding and piano duo. Through the docARTES program, Anne is a doctoral candidate at Leiden University. Her research focuses on the intersection and interaction of pianistic and live coding performance practices.

On the Branch of a Tree

All sounds, and by ambitious extension all possible music, can be imagined to exist as a circular spectrum of equivalent, immutable, and stateless functions of time. This performance takes place on a branch of a tree, somewhere in a forest. The instrument used is TimeLines, a Haskell-based live coding modular synth, inspired by the FRP approaches to sound and image of TidalCycles and parallel graphics shaders respectively.

Dimitris Kyriakoudis, Infinite Monkeys

Dimitris Kyriakoudis, occasionally known as w1n5t0n, is one of the Infinite Monkeys. He was taught music at a young age by being shown discrete black squiggles, drawn on pieces of white paper, and how to play them using an array of even more discrete, but equally black and white, on-off switches.

That turned out to be a bit too boring, so now he can be found sitting on tree branches, making funny noises using functional programming and mathematics he can barely understand.

Algorave 100 Fragments

In this performance, Atsushi Tadokoro will unite the audio and visual stimulus together using Haskell based live coding library TidalCycles. The application selects a shader animation when detecting the note on the timing of TidalCycles via OSC, making synchronized complex animations automatically in real-time.

Atsushi Tadokoro, Maebashi Institute of Technology

Atsushi Tadokoro is a creative coder. Currently teaching as an associate professor at Maebashi Institute of Technology, and as a part-time lecturer at Tokyo University of the Arts and Keio University in Japan. Tadokoro makes music works of sound synthesis using an algorithm and performs improvisation with sounds and moving-images by a laptop. His lectures about “creative coding” and “Live Coding” for openFrameworks, Processing, Sonic Pi and TidalCycles, etc. are online{:target=”_blank" rel=“noopener”} to be practically used for students and creators.

Lil Data and Bitchlovsky play the Svampolin

This performance features live coding and the Svampolin, a hybrid electric-acoustic violin. The svampolin is a functional decomposition and recomposition of the violin designed to play, present, feel like, and even sound like a violin, but can equally sound completely unlike a violin. The svampolin is capable of computer communications, and live programming can be used to redefine performer intimacy as the coder alters the svampolin’s performative results in real-time. Changing the instrument’s functionality during a piece, the player and coder are able to shift the role of the violin from structure to behaviour, or from lutherie to performance.

Laurel S. Pardue (Bitchlovsky), Queen Mary University of London

Laurel S. Pardue has worked in music tech and instrument design for over 15 years capturing complex virtuosic interactions. She focuses on real-world performance designing hand controllers for Visual Music Systems, Gamelan Elektrika (debuted with Kronos Quartet at the Lincoln Center in 2010), electronic tablas for Kuljit Bahmra, and most recently, the Svampolin. She holds 4 degrees from MIT and completed a PhD at Queen Mary University of London where she continues research in collaboration with Aalborg University in Copenhagen looking at technologically based violin augmentations to redefine the way we learn and play the violin. She’s also an active violinist having played at festivals throughout the UK, France, NY, SF, live on BBC Radios 3,4, & 6, and appeared on German television, all with various artists including Sam Lee, Mishaped Pearls, Arnold Dreyblatt, and, as Bitchlovsky, playing semi-improvised violin with live electronic music.

Jack Armitage (Lil Data), Queen Mary University of London

Jack Armitage is a designer, musician, artist, technologist and researcher, currently a PhD student in the Augmented Instruments Lab at Queen Mary University of London, and previously a research engineer at ROLI. He performs live coding music and visuals as Lil Data (PC Music), and produces music as half of the band Offer (with Adult Jazz vocalist Harry Burgess). He tutors in interaction design at the Royal College of Art, hosts workshops in live coding and digital musical instrument design, and contributes to open source projects.