Powered by
4th ACM SIGPLAN International Workshop on Programming Abstractions and Interactive Notations, Tools, and Environments (PAINT 2025), October 12–18, 2025,
Singapore, Singapore
4th ACM SIGPLAN International Workshop on Programming Abstractions and Interactive Notations, Tools, and Environments (PAINT 2025)
Frontmatter
Welcome from the Chairs
Programming environments that integrate tools, notations, and abstractions into a holistic user experience can provide programmers with better support for what they want to achieve. These programming environments can create an engaging place to do new forms of informational work—resulting in enjoyable, creative, and productive experiences with programming.
In the workshop on Programming Abstractions and Interactive Notations, Tools, and Environments (PAINT), we want to discuss programming environments that support users in working with and creating notations and abstractions that matter to them. We are interested in the relationship between people centric notations and general-purpose programming languages and environments. How do we reflect the various experiences, needs, and priorities of the many people involved in programming—whether they call it that or not?
Invited Talk
Notational Freedom via Self-Raising Diagrams (Invited Talk)
Joel Jakubovic
(Charles University Prague, Czechia)
Some things are better drawn than coded. However, it takes a lot of work to build a custom editing interface for each new notation, discouraging experimentation. There has to be a better way than Greenspunning poor approximations of Adobe Illustrator over and over again. "Self-raising diagrams" are a promising escape from this trap. Just as source code — a static artefact — "raises itself" into a dynamic running program, a vector graphics diagram — taken to generalise source code — can similarly be parsed, interpreted, and "animated" into a GUI. Notational engineers can then focus on the notations themselves, and their semantics, having left the implementation of drawing interfaces to the experts (implementors of standard vector graphics editors). The tasks of normalising, interpreting, and transforming vector notations contain many relevant problems for the notational engineer — far more relevant than coding line rubberbanding for the umpteenth time!
@InProceedings{PAINT25p1,
author = {Joel Jakubovic},
title = {Notational Freedom via Self-Raising Diagrams (Invited Talk)},
booktitle = {Proc.\ PAINT},
publisher = {ACM},
pages = {1-1},
doi = {10.1145/3759534.3771267},
year = {2025},
}
Publisher's Version
Papers
Block-Based Editing in a Textual World
Tom Beckmann,
Lukas Böhme,
Marcel Taeumel, and
Robert Hirschfeld
(Hasso Plattner Institute, Germany; University of Potsdam, Germany)
Block-based programming environments offer unique benefits for editing or integration of visual tools that could be useful across programming environments. However, most general-purpose programming environments are designed around textual representations of programs.
We explore the design of a block-based editor that integrates with existing textual environments, using the example of the Squeak/Smalltalk development environment. Through a user study, we show that users felt generally comfortable with our editor’s edit interactions when compared to textual editing. We discuss the design's difficulties and opportunities we observed during our user study and our own use to help propose block-based editor designs that integrate well with text-based environments.
@InProceedings{PAINT25p2,
author = {Tom Beckmann and Lukas Böhme and Marcel Taeumel and Robert Hirschfeld},
title = {Block-Based Editing in a Textual World},
booktitle = {Proc.\ PAINT},
publisher = {ACM},
pages = {2-14},
doi = {10.1145/3759534.3762681},
year = {2025},
}
Publisher's Version
Toward Bridging the Tool Gap: Equipping Large Language Models with Tools to Answer Programmers’ Questions
Lukas Böhme,
Christoph Thiede,
Toni Mattis,
Tom Beckmann,
Jens Lincke, and
Robert Hirschfeld
(Hasso Plattner Institute, Germany; University of Potsdam, Germany)
Programmers ask complex questions in their search for solutions during software development.
Along with traditional tools such as debuggers and profilers, state-of-the-art approaches like Babylonian Programming can help programmers answer those questions through interactive and visual feedback.
Large language models (LLMs) and programming agents are part of programmers' toolboxes and are well-integrated into their development workflows.
However, they are not yet helpful in considering questions involving run-time behavior.
In this paper, we first review the literature to identify concerns programmers face during development and highlight how humans usually address them.
We then focus on questions about program behavior and propose integrating Babylonian-style programming techniques with LLMs to help answer related questions.
Finally, we suggest four key properties that future LLM-based development tools should support: (1) LLM tool usage traceability for explainability, (2) resumability of development progress for handovers between human programmers and LLM-based programming agents, (3) context efficiency through selective data querying, and (4) multi-source synthesis for tool integration.
@InProceedings{PAINT25p15,
author = {Lukas Böhme and Christoph Thiede and Toni Mattis and Tom Beckmann and Jens Lincke and Robert Hirschfeld},
title = {Toward Bridging the Tool Gap: Equipping Large Language Models with Tools to Answer Programmers’ Questions},
booktitle = {Proc.\ PAINT},
publisher = {ACM},
pages = {15-24},
doi = {10.1145/3759534.3762682},
year = {2025},
}
Publisher's Version
TIDE: An Educational Live Programming Environment to Compose Graphics with PyTamaro
Joey Bevilacqua,
Nathan Coquerel,
Luca Chiodini,
Igor Moreno Santos, and
Matthias Hauswirth
(USI Lugano, Switzerland; Université de Rennes, France)
The PyTamaro approach to introductory programming
equates composing a program to composing a graphic.
Using the simple PyTamaro library for Python,
beginner programmers compose function calls
that produce primitive graphics, such as
rectangle(20, 10, red),
with function calls that combine graphics into composites,
such as above(_, _).
To ease students into programming,
several school teachers have been using TamaroCards,
a paper-based visual language
that can express the subset of Python
needed to compose simple graphics with PyTamaro.
This paper introduces TIDE,
the TamaroCards IDE,
a web-based environment
to complement the unplugged, paper-based TamaroCards.
Given the constraints imposed by the Python programming language,
the PyTamaro library, and the TamaroCards notation,
the paper explores the design space for an interactive TamaroCards
programming environment,
describes a design
that satisfies the pedagogical needs, and
evaluates the implemented design using
the Cognitive Dimensions framework.
@InProceedings{PAINT25p25,
author = {Joey Bevilacqua and Nathan Coquerel and Luca Chiodini and Igor Moreno Santos and Matthias Hauswirth},
title = {TIDE: An Educational Live Programming Environment to Compose Graphics with PyTamaro},
booktitle = {Proc.\ PAINT},
publisher = {ACM},
pages = {25-36},
doi = {10.1145/3759534.3762683},
year = {2025},
}
Publisher's Version
The MNL: A Block-Based Functional Programming Language with Reactive Blocks
Steven Lolong
(University of Tübingen, Germany)
The complexity of functional programming languages can pose a challenge for learners. However, the use of block-based languages in learning programming can lower the barriers to the learning process. While many block languages have been created, they often lack essential features of functional languages and do not include the type inference.
This gap serves as motivation to develop a block-based functional programming language that provides visual information about three programming language conventions. The development process begins with designing text syntax, transforming it into blocks, drafting typing rules for visual languages, and building a new functional block language called Macaca Nigra Language.
Case studies of Macaca Nigra Language demonstrate that it effectively provides visual clues through shapes and colors regarding the three conventions of programming languages.
@InProceedings{PAINT25p37,
author = {Steven Lolong},
title = {The MNL: A Block-Based Functional Programming Language with Reactive Blocks},
booktitle = {Proc.\ PAINT},
publisher = {ACM},
pages = {37-53},
doi = {10.1145/3759534.3762684},
year = {2025},
}
Publisher's Version
proc time: 0.91