This program is tentative and subject to change.
Thu 2 Jul 2026 13:15 - 14:00 at Atrium 0 - ECOOP Live Demo Booths Chair(s): Gordana Rakić
In MLscript, patterns are first-class. They can be recursive, higher-order, and can be composed through Boolean operations (union, intersection, and complement).
Patterns can transform what they match using arbitrary computations; in that sense, they can be viewed as composable partial functions. The composition of patterns, when viewed as functions, is denoted via the binary operator >>.
A pattern can be applied repeatedly to its own output until that output reaches a fixed point. Importantly, each matching pass runs in linear time with respect to the size of the input, and fixed point patterns do not re-traverse unchanged term prefixes. With these abilities, lambda calculus evaluators (similar to Danvy-Nielsen refocusing), object validators, expression simplifiers, and even stack-based parsers can be written entirely as patterns—declarative, typed, and efficient. We call this style pattern-oriented programming, and we believe it could be the future of functional programming.
The demonstration will consist of a live coding session in which the authors develop two examples in real time: arithmetic-expression simplification, as a warm-up, and the call-by-value lambda calculus evaluator described above. Both examples will be available in a web-based MLscript IDE, allowing attendees to follow along and experiment with variations during the session.
This program is tentative and subject to change.
Wed 1 JulDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
16:45 - 17:30 | ECOOP Demo TeasersDemos at I.2.03 Chair(s): Gordana Rakić University of Novi Sad Teaser presentations | ||
16:45 11mDemonstration | Pattern-Oriented Programming in MLscript Demos Luyu Cheng Hong Kong University of Science and Technology, Lionel Parreaux HKUST (The Hong Kong University of Science and Technology) | ||
16:56 11mDemonstration | PICK: Checking the Output of GenAI Synthesis Demos Siddhartha Prasad Brown University, Skyler Austen Brown University, Shriram Krishnamurthi Brown University, Kathi Fisler Brown University | ||
17:07 11mDemonstration | Remote Concolic Multiverse Debugging Demos Maarten Steevens Ghent University, Belgium, Tom Lauwaerts Vrije Universiteit Brussel, Belgium, Christophe Scholliers Universiteit Gent | ||
17:18 11mDemonstration | JavaWiz ThreadViz - A Visual Debugger for Multi-threaded Programs Based on the Espresso Java VM Demos | ||
Thu 2 JulDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
13:15 - 14:00 | ECOOP Live Demo BoothsDemos at Atrium 0 Chair(s): Gordana Rakić University of Novi Sad Live demonstration booths | ||
13:15 45mDemonstration | Remote Concolic Multiverse Debugging Demos Maarten Steevens Ghent University, Belgium, Tom Lauwaerts Vrije Universiteit Brussel, Belgium, Christophe Scholliers Universiteit Gent | ||
13:15 45mDemonstration | PICK: Checking the Output of GenAI Synthesis Demos Siddhartha Prasad Brown University, Skyler Austen Brown University, Shriram Krishnamurthi Brown University, Kathi Fisler Brown University | ||
13:15 45mDemonstration | Pattern-Oriented Programming in MLscript Demos Luyu Cheng Hong Kong University of Science and Technology, Lionel Parreaux HKUST (The Hong Kong University of Science and Technology) | ||
13:15 45mDemonstration | JavaWiz ThreadViz - A Visual Debugger for Multi-threaded Programs Based on the Espresso Java VM Demos | ||
Demonstrations will be presented in two steps:
- Step 1. In their appetiser show, authors will briefly introduce the audience to their demonstration and attract them to visit their demonstration booth.
- Step 2. Demo booths are open for the audience for live demos and discussions with authors.
Demonstrations will be presented in two steps:
- Step 1. In their appetiser show, authors will briefly introduce the audience to their demonstration and attract them to visit their demonstration booth.
- Step 2. Demo booths are open for the audience for live demos and discussions with authors.