Highlights
Keynote (remote): Artificial Intelligence: a Problem of Plumbing?
- Gerald J. Sussman Gerald J. Sussman (SPEAKER KEYNOTE) USA
We have made amazing progress in the construction and deployment of systems that do work originally thought to require human-like intelligence. On the symbolic side we have world-champion Chess-playing and Go-playing systems. We have deductive systems and algebraic manipulation systems that exceed the capabilities of human mathematicians. We are now observing the rise of connectionist mechanisms that appear to see and hear pretty well, and chatbots that appear to have some impressive linguistic ability. But there is a serious problem. The mechanisms that can distinguish pictures of cats from pictures of dogs have no idea what a cat or a dog is. The chatbots have no idea what they are talking about. The algebraic systems do not understand anything about the real physical world. And no deontic logic system has any idea about feelings and morality. So what is the problem? We generally do not know how to combine systems so that a system that knows how to solve problems of class A and another system that knows how to solve problems of class B can be combined to solve not just problems of class A or class B but can solve problems that require both skills that are needed for problems of class A and skills that are needed for problems of class B. Perhaps this is partly a problem of plumbing. We do not have linguistic structures that facilitate discovering and building combinations. This is a fundamental challenge for the programming-language community. We need appropriate ideas for abstract plumbing fittings that enable this kind of cooperation among disparate mechanisms. For example, why is the amazingly powerful tree exploration mechanism that is used for games not also available, in the same system, to a deductive engine that is being applied to a social interaction problem? I will attempt to elucidate this problem and perhaps point at avenues of attack that we may work on together.
Keynote: A Language-Based Approach to Programming with Serialized Data
- Michael Vollmer Michael Vollmer (SPEAKER KEYNOTE) UK
It is common for software running today to use object representations fixed by the language runtime system; both the Java and Haskell runtimes dictate an object layout, and the compiler must stick to it for all programs. And yet when humans optimize a program, one of their primary levers on performance is changing data representation. For example, an HPC programmer knows how to pack a regular tree into a byte array for more efficient access. Unfortunately, this is error-prone, making it an undesirable way to achieve performance optimization at the expense of safety and readability. Furthermore, whenever a program receives data from the network or disk, rigid insistence on a particular heap layout causes an impedance mismatch we know as deserialization. Data represented in memory has pointers and arbitrary, sparse layout, while data on disk is packed contiguously, so data must be transformed from one form to another and back. Programming with serialized data is a technique for unifying the in-memory and on-disk representations of data, where the serialized form is used both on-disk and in-memory. This technique allows data processing programs to skip the deserialization/reserialization steps by operating directly on the data in its serialized form. It also represents a principled approach to optimizing programs by compacting data representations, which increases locality and minimizes indirection. In this talk, I will present a programming language, LoCal, for programming with serialized data. I will also describe Gibbon, an experimental compiler that automatically transforms functional programs to operate on serialized data.
Keynote: Hedy: Gradual, Multi-Lingual, and Teacher-Centric Programming Education
- Felienne Hermans Felienne Hermans (SPEAKER KEYNOTE) Nederlands
When kids learn to program they often use either a visual language like Scratch, or a textual language like Python. While visual languages are great for the first steps, children and educators often want to move on to textual languages. However, early on, a textual language and its error messages can be scary. Hedy aims to bridge this gap with a programming language that is gradual, using different language levels. In level 1, there is hardly any syntax at all; printing is done with: print hello! At every level, new syntax and concepts are added, so learners do not have to master everything at once. Hedy builds up to a subset of Python including conditions, loops, variables, and lists. To make learning as accessible as possible, Hedy also allows for the use of localized keywords, f.e in Spanish: imprimir Hello! Hedy (www.hedy.org) was launched in early 2020 and over 5 million Hedy progams have been created to date, and has been translated into 46 languages.
Keynote: Run-Time Verification of Communication Protocols in Clojure
- Sung-Shik Jongmans Sung-Shik Jongmans (SPEAKER KEYNOTE) Nederlands
To simplify shared-memory concurrent programming, languages have started to offer core support for high-level communications primitives, in the form of message passing though channels, in addition to lower-level synchronization primitives. Yet, a growing body of evidence suggests that channel-based programming abstractions also have their issues. The Discourje project aims to help programmers cope with channels and concurrency bugs in Clojure programs, based on dynamic analysis. The idea is that programmers write not only implementations of communication protocols in their Clojure programs, but also specifications. Discourje then offers a run-time verification library to ensure that channel actions in implementations are safe relative to specifications.
Location
Startup Village https://www.startupvillage.nl/ (CONFERENCE) Science Park 608 1098 XH Amsterdam NederlandsReachability
ELS 2023 will take place in Startup Village which is located in Amsterdam Science Park, one of the campuses of the University of Amsterdam.
Amsterdam Science Park has its own railway station from where it is 10 minutes walk across the campus to Startup Village. You can find information and schedules on the site of NS, the Dutch national railway.
Startup Village is also served by the number 40 bus. You can alight at bus stop Science Park Terra which is right at the entrance to the Village. You may buy a ticket for one hour, one day or multiday. And if you haven't bought a ticket in advance, you can even pay incidentally by swiping your bank pass in the tram or bus.
Generally speaking, public transport in and around Amsterdam is of high
quality. Your favourite search engine will usually give you accurate and
up-to-date information but these sites may also be helpful for planning your
trips.
One of the best ways to get around Amsterdam is by bike. There are many places in the city where you can rent a bike but one that you might find particularly convenient is the OV Fiets (OV is "public transport" and "fiets" is the Dutch word for a bike). You can pick up a rental bike at most railway stations for €4.45 per day.
If you arrive by car, you can park in Parking lot P7 which is two minutes walk from Startup Village. Parking costs €4.50 per hour.
Tourism
Some events at around the time of the conference may be of interest.
April 27th in the Nederlands is King's Day, the national holiday, a renowned and very colorful event, especially in Amsterdam. This is a great opportunity for those who'd wish to combine ELS with some tourism...
More information on King's Day here
The Keukenhof describes itself as "The most beautiful spring garden in the world." It is currently in bloom.
The Rijksmuseum is currently hosting the largest exhibition ever of paintings by Vermeer. However it will be difficult to find tickets.
Organization
Programme Chair
- Stefan Monnier Stefan Monnier DIRO, Université de Montréal (PROGRAMME-CHAIR) Canada
Organizing Chair
- Didier Verna Didier Verna https://www.lrde.epita.fr/~didier/ EPITA / LRE (ORGANIZING-CHAIR SPEAKER) France
Local Chair
- Breanndán Ó Nualláin Breanndán Ó Nualláin Machine Learning Programs (LOCAL-CHAIR) Netherlands
Committee
- Alan Ruttenberg Alan Ruttenberg (COMMITTEE) USA
- Ambrose Bonnaire-Sergeant Ambrose Bonnaire-Sergeant (COMMITTEE)
- Christopher League Christopher League (COMMITTEE) USA
- Ioanna Dimitriou Ioanna Dimitriou (COMMITTEE) Germany
- Irène Durand Irène Durand (COMMITTEE) France
- Jay McCarthy Jay McCarthy (COMMITTEE) USA
- Ludovic Courtès Ludovic Courtès (COMMITTEE) France
- Marc Battyani Marc Battyani (COMMITTEE)
- Marc Feeley Marc Feeley (COMMITTEE) Canada
- Marco Heisig Marco Heisig (COMMITTEE) Germany
- Mark Evenson Mark Evenson (COMMITTEE) Austria
- Matthew Flatt Matthew Flatt (COMMITTEE) USA
- Mattias Engdegård Mattias Engdegård (COMMITTEE)
- Nick Levine Nick Levine (COMMITTEE) Spain
- Robert Smith Robert Smith (COMMITTEE)
Virtualization Team
- Georgiy Tugai Georgiy Tugai Configura (VIRTUALIZATION) Sweden
- Yukari Hafner Yukari Hafner Shinmera email@email.com https://shinmera.com Shirakumo.org (VIRTUALIZATION SPEAKER) Switzerland
Programme
Times are local to the conference. You can download the programme in iCalendar format here.April 24th
Registration, badges, meet and greet
Welcome message and announcements
Keynote: Run-Time Verification of Communication Protocols in Clojure
- Sung-Shik Jongmans
Coffee Break
Research Paper: A MOP-Based Implementation for Method Combinations
- Didier Verna
Research Paper: A Minimal Run-Time Overhead Metaobject Protocol for Julia
- Marcelo Santos
- Antonio Leitao
Lunch
Research Paper: An Elegant and Fast Algorithm for Partitioning Types
- Jim Newton
Demonstration: GRASP: An Extensible Tactile Interface for Editing S-expressions
- Panicz Maciej Godek
Coffee Break
Keynote: Hedy: Gradual, Multi-Lingual, and Teacher-Centric Programming Education
- Felienne Hermans
Enlightening Lightning Talks
Conference dinner (on site)
April 25th
Keynote: A Language-Based Approach to Programming with Serialized Data
- Michael Vollmer
Coffee Break
Demonstration (remote): A stepper for Armed Bear Common Lisp (ABCL)
- Alejandro Zamora Fonseca
Experience Report: Kandria - A Game in Common Lisp
- Yukari Hafner
Sponsored: SISCOG - 35 years of keeping trains on track
- Fábio Almeida
Lunch
Research Paper (remote): Parallel Garbage Collection for SBCL
- Hayley Patton
Research Paper: Design of an Efficient Lisp Bytecode Machine and Compiler
- Alexander Wood
- Charles Zhang
- Christian Schafmeister
Coffee Break
Keynote (remote): Artificial Intelligence: a Problem of Plumbing?
- Gerald J. Sussman
Enlightening Lightning Talks