ELS Editions

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 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?

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
.

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!