Proceedings of the 14Th European Lisp Symposium Online, Everywhere May 3 – 4, 2021 Marco Heisig (Ed.)
Total Page:16
File Type:pdf, Size:1020Kb
Proceedings of the 14th European Lisp Symposium Online, Everywhere May 3 – 4, 2021 Marco Heisig (ed.) ISBN-13: 978-2-9557474-3-8 ISSN: 2677-3465 ii ELS 2021 Preface Message from the Program Chair Welcome to the 14thth European Lisp Symposium! I hope you are as excited for this symposium as I am. For most of you, these are the first minutes of the symposium. But the reason why we have this symposium, the website, the Twitch setup, and all the exciting talks and papers, is because of dozens of other people working hard behind the scenes for months. And I want to use this opening statement to thank these people. The most important person when it comes to ELS is Didier Verna. Year after year, Didier takes care that other people are taking care of ELS. Thank you Didier! Then there is the programme committee — brilliant and supportive people that spend count- less hours reviewing each submission. These people help turn good papers into great papers, and these people are the reason why our conference proceedings are such an interesting read. Thanks everyone on the programme committee! And then there are the local chairs — Georgiy, Mark, and Michał — that spent a large part of the last week refining our technical setup. Without our local chairs, we just couldn’t have this online ELS. Thank you Georgiy, Mark, and Michał! And finally, we have the true stars of the symposium, our presenters. These people spent weeks working on their papers, preparing slides, and recording their talks. And they will also be here live during each talk to answer questions or to discuss ideas. Thanks, dear presenters! I had the honor of working with all these people over the last few months. And while doing so, I actually learned something new about Lisp, too. I learned that the best part about Lisp is not the uniform syntax, or the macros, or the ability to redefine functions at run time. The best part about Lisp is the Lisp community. And as long as we have such a great community, I am very optimistic about the future of Lisp. In this sense, I wish you an inspiring symposium and happy hacking! Röthenbach an der Pegnitz, May 1, 2021 Marco Heisig ELS 2021 iii Message from the Local Chairs During the previous ELS, we have wished for an European Lisp Symposium organized live, just like before the pandemic. These wishes did not yet have a chance to materialize, so it is our need - but, most importantly, also an honor - to invite you to the second online European Lisp Symposium! People who have attented the previous year should feel at home; we have not made many modifications to the technology behind the conference. The video feed is streamed via Twitch, just like last year; it is possible to view it via VLC without using the official Twitch web client. The Twitch feed will start an hour before the opening ceremony to let everyone tune in ahead of time; we will be available to help with any technical issues. The textual Twitch chat is going to be bridged to #elsconf on Freenode for people who would prefer to participate in the chat via IRC. We have an official Jitsi instance (along with an unofficial backup) for breakout rooms, chats during coffee and lunch breaks, and the get-together after the conference. Links to the official break rooms will be posted during breaks, but new rooms can be created by all participants on demand. This year, we also have a small charity auction and print sales for supporting various Lisp- related organizations; please stay tuned for the start of the auction during the conference’s opening, and for the finish during the closing ceremony. We wish you a good and satisfying Symposium, free of technical issues. See you during the conference! Georgiy Tugai, Mark Evenson, Michał Herda iv ELS 2021 Organization Programme Chair • Marco Heisig, FAU Erlangen-Nürnberg, Germany Local Chair • Michał Herda • Mark Evenson, RavenPack • Georgiy Tugai, Configura Programme Committee • Breanndán Ó Nualláin, Machine Learning Programs, Netherlands • Christophe Rhodes, Google, UK • David McClain, SpectroDynamics LLC, USA • Evrim Ulu, Istinye University, Turkey • Ioanna Dimitriou, Igalia, Germany • Irène Durand, LaBRI University of Bordeaux, France • Jim Newton, EPITA Research Lab, France • Jonathan Godbout, Google, USA • Kai Selgrad, OTH Regensburg, Germany • Kent Pitman, Harvard Medical School, USA • Matthew Flatt, University of Utah, USA • Michael Sperber, DeinProgramm, Germany • Olin Shivers, Northeastern University, USA • Paulo Matos, Igalia, Germany • R. Matthew Emerson, toughtstuff LLC, USA • Robert Smith, HRL Laboratories, USA • Stefan Monnier, University of Montreal, Canada ELS 2021 v Sponsors We gratefully acknowledge the support given to the 14thth European Lisp Symposium by the following sponsors: Franz, Inc. 2201 Broadway, Suite 715 Oakland, CA 94612 USA www.franz.com RavenPack Urbanización Villa Parra Palomeras, 29602 Marbella, Malaga Spain www.ravenpack.com EPITA 14-16 rue Voltaire FR-94276 Le Kremlin-Bicêtre CEDEX France www.epita.fr vi ELS 2021 Invited Contributions Staged Relational Interpreters: Running Backwards, Faster Nada Amin, Harvard SEAS, USA Relational programming, as exemplified in miniKanren, strives to be a pure form of logic pro- gramming. Relational interpreters enable turning functions into relations, as well as synthe- sizing functions from partial specifications. However, however successful, the approach incurs an interpretation overhead. We turn functions into relations, while removing all interpreta- tion overhead thanks to a novel multi-stage programming mechanism. While partial evalu- ation has a rich history in both functional and logic programming, multi-stage programming has so far only been explored in a functional/imperative setting, with many success stories in high-performance computing. Bringing multi-stage programming to relational programming, we derive a relational compiler from the relational interpreter. Via this compiler, we gener- ate relations from functions with no interpretation overhead. In addition to useful first-order applications, we explore running staged relational programs backwards. In this talk, I will introduce multi-stage programming in its traditional functional setting and in the new relational setting. I will explain how to derive a compiler from an interpreter us- ing generative programming. I will showcase the resulting staged-miniKanren system with a theorem checker turned prover and various towers of interpreters for generating quines. Nada Amin is an Assistant Professor of Computer Science at Harvard SEAS. Previously, she was a University Lecturer in Programming Lan- guages at the University of Cambridge; a member of the team behind the Scala programming language at the Ecole Polytechnique Federale de Lausanne (EPFL), where she pursued her PhD; and a software engineer at Google, on the compiler infrastructure supporting Gmail and other Google Apps. She holds bachelor of science and master of engineering degrees from the Massachusetts Institute of Technology (MIT). Symbolic expressions for cyber-physical programming Andrew Sorensen, Australian National University, Australia Cyber-physical programming gives programmers the ability to engage actively and proactively in an experimental and experiential relationship with complex virtual, physical and cultural systems. Cyber-physical programming offers programmers the opportunity to actively shape and control these complex systems of events - to be engaged with them. Studying these natural events is often only possible in situ, in-the-world, within their own temporal and spatial frames of reference. Cyber-physical programming posits that a causal connection to the world is valuable and that it can be useful to privilege the present. To quote Rodney Brooks “It turns out to be better to use the world as its own model”. One of cyber-physical programming’s tenets is that a program’s ELS 2021 1 state is not only an internal property of the machine, but is also an external property-of-the- world. This external, physical state, can be sensed and acted upon by both the machine and the programmer. The programmer is actively engaged in both perceiving and acting upon the world, directly, but also mediated through the machine. For the cyber-physical programmer, the physical environment constitutes a meaningful component of a program’s state. Andrew is an international keynote speaker, academic, performer, edu- cator, computer scientist and software craftsman with over 20 years of industry experience. With a diverse portfolio of interests, Andrew is as likely to be found hacking code in nightclubs as programming compu- tational physics simulations on high performance computing clusters. As a Senior Research Fellow in the Computer Science department at the Queensland University of Technology Andrew convened courses in High Performance Computing and Enterprise Systems. Andrew holds a PhD in Computer Science from the Australian Na- tional University, as well as a Bachelor of Music and a Master of Music, both from the Queensland University of Technology. Producing News Analytics and Turning them into Actionable Insights Andrew Lawson and Inna Grinis, RavenPack, Spain We will first look at the basics of RavenPack’s news analytics system, from incoming stories to outgoing analytics and the technology involved. We will then look at several examples of how RavenPack’s news volume, sentiment scores, events taxonomy, and connections functionality can be leveraged to create data insights that can be used to make more informed decisions in the finance industry and