ELS Editions

8th European Lisp Symposium

April 20-21, 2015
Goldsmiths University, London, UK

Welcome to the 8th European Lisp Symposium!

The purpose of the European Lisp Symposium is to provide a forum for the discussion and dissemination of all aspects of design, implementationand application of any of the Lisp and Lisp-inspired dialects, including Common Lisp, Scheme, Emacs Lisp, AutoLisp, ISLISP, Dylan, Clojure, ACL2, ECMAScript, Racket, SKILL, Hop and so on. We encourage everyone interested in Lisp to participate.

We'll be updating this website's contents on a regular basis. Stay tuned!

This year's Highlights:

Quicklisp: On Beyond Beta
Zach Beane, Clozure Associates

Quicklisp was released in 2010 as a public beta. Five years later, it's still in beta. How has Quicklisp (and Common Lisp) evolved in the past five years? What will it take for Quicklisp to go on beyond beta?

µKanren: Running the Little Things Backwards
Bodil Stokke

Relational programming, or logic programming, is a programming paradigm that exhibits remarkable and powerful properties, to the extent that its implementation seems frightfully daunting to the layman. µKanren is a minimal relational language that seeks to strip the paradigm down to its core, leaving us with a succinct, elegant and above all simple set of primitives on top of which we can rebuild even the most powerful relational constructs.

In this talk, we will explore the µKanren language by implementing it from first principles in a simple functional programming language, going on to demonstrate how you can assemble these simple building blocks into a semblance of its richer parent, miniKanren, and maybe solve a logic puzzle or two to make sure it’s working as advertised.

The µKanren paper, and the original µKanren implementation, were authored by Jason Hemann and Daniel P. Friedman. Here are the paper and the Scheme implementation .

Unwanted memory retention
Martin Cracauer, Google

This talk goes over numerous oddities in a Lisp-based system which led to unwanted heap memory retention and to constant resident memory growth over the uptime of the system. Issues covered include a mostly conservative but also paged garbage collector, the difficulty of clearing out data structures that are retainted as an optimization but that might hold on to large amounts of heap (and how that happens in C++, too) and how large intercollected and theoretically uprooted "clouds of heap debris" interact with stale pointers out of same. The most delicious pieces center around pointer staleness out of the saved (on-disk, but read-write mapped) part of the heap, which is not garbage collected, into anonymous memory backed heap and how you can create rootless but uncollected and "untraceable" object circles. Untraceable until you hack up the GC to help you.

Want to know more about the European Lisp Symposium? Use the top buttons to navigate within this website, or press the Register button on your right to let us know you're coming!