Seminars

NO.233 Foundations of Computation and Creative Computing

Shonan Village Center

September 29 - October 2, 2025 (Check-in: September 28, 2025 )

Organizers

  • Rose Bohrer
    • Worcester Polytechnic Institute, USA
  • Youyou Cong
    • Institute of Science Tokyo, Japan
  • James McCann
    • Carnegie Mellon University, USA

Overview

Description of the Meeting

Overview The foundations of programming languages have rigorous connections with a wide range of topics. Though the connections with mathematics, logic, and philosophy are perhaps best-known, a growing body of research has established connections with creative domains, including both liberal arts (linguistics) and fine arts (music, fiber crafts, live stage performance, visual art).

Review of State-of-the-Art Programming language technologies have proven their impact in creative industries. Starting with one of the earliest “computers” in the Jacquard loom, programming remains essential to the textile industry, often through computer-aided design applications. In live arts, musicians and stage performers use code as an instrument. Programming is a vital tool, particularly in interactive digital media, for generating visual art content at scale. At the same time, academics have proposed new theoretical foundations for programming across these domains: refinement types for music, topology and homotopy type theory for fabric crafts, logic programming for procedural content generation. However, these applied and foundational developments have largely occurred in isolation from one another.

Prior Related Shonan+Dagstuhl Meetings

  • Dagstuhl Seminar 09291 (Computational Creativity: An Interdisciplinary Approach) aims to understand the artistic creative process from the perspective of artificial intelligence. Our seminar approaches similar problems using techniques from programming language theory.
  • Dagstuhl Seminar 02291 (Aesthetic Computing) investigates how approaches to artistic aesthetics can be used to model software. Our seminar explores how those approaches can be applied to programming language design.

Unique Focus of Proposed Meeting The focus of this meeting is to build a bridge between foundational and applied scholarship on programming languages for creative domains such as the liberal and fine arts. We will address the following three research questions:

  1. How can foundational techniques support creativity?
  2. What opportunities arise from the unique aspects of creative programming?
  3. How can creative fields inform development of general-purpose programming languages?

RQ1: How can foundational techniques support creativity?
Research in programming language foundations has identified potential applications for diverse foundations in diverse creative domains. Languages for fiber crafts have been proposed which build upon multiple subfields of topology, including braid theory for knitting (Lin and McCann 2021) and two-level homotopy type theory for sewing (Clark & Bohrer 2023). Languages for music synthesis have long relied on core techniques in functional programming (Dannenberg 2018), but have continued to draw in new functional techniques such as refinement types (Cong 2023). Procedural content generation has a long-standing relationship with logic programming, and has been a driving application for answer-set programming in particular (Gebser et al. 2022). In linguistics, programming language features such as continuations have been explored as models of natural language (Barker & Shan 2014). These lines of research have often proceeded from foundations toward applications, driven by a desire to identify novel uses for existing foundational techniques.

We will share, review, and compare recent results to assess where and how foundational techniques have or have not supported creative needs of practitioners, to inform future directions of research.

RQ2: What opportunities arise from the unique aspects of creative programming?
Much of programming language theory has been developed under the assumption of large programs performing long (possibly infinite) computations in large domains to reach correct answers. Creative programming, on the other hand, can be about small programs whose termination is trivial and whose correctness is graded. The outputs are not necessarily computations but instead sometimes computation traces reified into solid objects. Furthermore, creative programs are often about 2D or 3D domains and involve spatial resources in those domains, hence time-serial modularity is limiting. We will exchange our ideas of how to address the unique aspects of creative programming. This will lead to new ways of debugging programs, evaluating program quality, validating program transformations, and so on.

RQ3: How can techniques from creative fields inform development of general-purpose programming languages?
Programming language theorists typically evaluate their work using similar methodologies to mathematicians: evaluating which theorems can be proven rigorously about a formal system and the theoretical elegance of that system. Programming language researchers in fields such as software engineering and human-computer interaction may additionally draw on quantitative and qualitative analyses of user experience. In contrast, creative domains draw on far more diverse methodologies, ranging from critiques based in the theory of rhetoric (Muller and Ringler 2020), arguments from aesthetics (Fishwick 2006), and iterative design processes (Sawyer 2021).

We will explore methodologies from creative domains as they apply to general-purpose programming languages, drawing inspiration from literature in human-centered programming languages (Bohrer 2023), user-centered programming languages (Myers et al. 2016), and programmer experience (Kato and Shimakage 2020).

Outcomes

Solving these research questions has two outcomes. Firstly, the work of programming language researchers can be made more impactful by developing a comprehensive understanding of creatives’ needs leading to increased practical adoption, and conversely, the process of programming language research itself can be made more robust through the integration of new methodologies from artistic domains.

Topics

We draw the following specific topics for discussion at the meeting:

● Type systems and control operators for linguistics
● Type systems for music
● Type systems for fiber crafts
● Language foundations for live-coding
● Language foundations for procedural content generation
● Design techniques for creative programming languages
● Critical techniques for creative programming languages

Structure

To foster interaction among the participants, we plan to structure the meeting in the following way. On Day 1, we allocate poster sessions to see who is working on which problems. The poster sessions will help us synchronize on the current state of the art and open questions. Together with the participants, we then choose the most interesting problems as topics for dedicated breakout sessions. During Days 2–3, we alternate presentations of participants and the chosen breakouts. Presentations include talks, demos, tutorials, etc., and may be of various length. On Day 4, we invite the participants of each breakout to summarize the discussion and propose future directions.

In addition to presentations and discussions, we would like to have an art show, where participants demonstrate computational art works created in the past and during the meeting.

References

Barker, Chris, and Shan, Chung-chieh. “Continuations and Natural Language.” In Oxford Studies in Theoretical Linguistics 53, 2014.

Bohrer, Rose. "Human-Centered Programming Languages." https://bookish.press/hcpl.

Clark, Charlotte, and Rose Bohrer. "Homotopy type theory for sewn quilts." In Proceedings of the 11th ACM SIGPLAN International Workshop on Functional Art, Music, Modelling, and Design, pp. 32-43. 2023.

Coblenz, Michael, Jonathan Aldrich, Brad A. Myers, and Joshua Sunshine. "Interdisciplinary programming language design." In Proceedings of the 2018 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, pp. 133-146. 2018.

Cong, Youyou. "Weighted Refinement Types for Counterpoint Composition." In Proceedings of the 11th ACM SIGPLAN International Workshop on Functional Art, Music, Modelling, and Design, pp. 2-7. 2023.

Dannenberg, Roger B. "Languages for computer music." Frontiers in Digital Humanities 5 (2018): 26.

Fishwick, Paul A., ed. Aesthetic computing. MIT Press, 2006.

Gebser, Martin, Roland Kaminski, Benjamin Kaufmann, and Torsten Schaub. Answer set solving in practice. Springer Nature, 2022.

Kato, Jun, and Keisuke Shimakage. "Rethinking programming “environment”: technical and social environment design toward convivial computing." In Companion Proceedings of the 4th International Conference on Art, Science, and Engineering of Programming, pp. 149-157. 2020.

Lin, Jenny, and James McCann. "An artin braid group representation of knitting machine state with applications to validation and optimization of fabrication plans." In 2021 IEEE International Conference on Robotics and Automation (ICRA), pp. 1147-1153. IEEE, 2021.

Muller, Stefan K., and Hannah Ringler. "A rhetorical framework for programming language evaluation." In Proceedings of the 2020 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, pp. 187-194. 2020.

Myers, Brad A., Amy J. Ko, Thomas D. LaToza, and YoungSeok Yoon. "Programmers are users too: Human-centered methods for improving programming tools." Computer 49, no. 7 (2016): 44-52.

Sawyer, R. Keith. "The iterative and improvisational nature of the creative process." Journal of Creativity 31 (2021): 100002.