Highlights
Escaping the Heap
- Ahmon Dancy Ahmon Dancy Franz Inc. (SPEAKER)
Common Lisp implementations provide great automatic memory management of data structures. These data structures are allocated from a memory area called the “heap”. However, there are times when heap allocation is inadequate to satisfy the needs of the application. For example, sometimes data structures need to be persistent or shareable amongst separate processes. In these cases, alternatives to using the heap must be considered. In this talk we will explore the motivations for out-of-heap data structures. We will discuss some of the out-of-heap data structures that we’ve created in the course of developing our database product, such as lists, hash tables, and arrays. We will describe the tools and mechanisms that we used to implement them, including memory-mapped files, foreign structs, aligned pointers and direct memory accesses. Finally we will discuss the downsides of out-of-heap data structures and the constant struggle between abstractions and performance.
Quicklisp: On Beyond Beta
- Zach Beane Zach Beane Clozure Associates (SPEAKER)
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?
Unwanted memory retention
- Martin Cracauer Martin Cracauer Google (SPEAKER)
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.
µKanren: Running the Little Things Backwards
- Bodil Stokke Bodil Stokke (SPEAKER)
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.
Location
Goldsmiths, University of London http://www.gold.ac.uk/ (CONFERENCE) New Cross SE14 6NW London United KingdomHotels
- Premier Inn http://www.tripadvisor.co.uk/Hotel_Review-g186338-d2040574-Reviews-Premier_Inn_London_Greenwich-London_England.html (HOTEL) 43-81 Greenwich High Road SE10 8JL London
- Travelodge http://www.tripadvisor.co.uk/Hotel_Review-g186338-d2535117-Reviews-Travelodge_Greenwich-London_England.html (HOTEL) Blackheath Road, Greenwich SE10 8EF London
- Mercure http://www.tripadvisor.co.uk/Hotel_Review-g186338-d3507299-Reviews-Mercure_London_Greenwich-London_England.html (HOTEL) Catherine Grove, Greenwich SE10 8FR London
- Novotel http://www.tripadvisor.co.uk/Hotel_Review-g186338-d529404-Reviews-Novotel_London_Greenwich-London_England.html (HOTEL) 173-185 Greenwich High Road SE10 8JA London
- Ibis http://www.tripadvisor.co.uk/Hotel_Review-g186338-d191908-Reviews-Ibis_London_Greenwich-London_England.html (HOTEL) 30 Stockwell Street, Greenwich SE10 9JN London
Organization
Programme Chair
- Julian Padget Julian Padget University of Bath (PROGRAMME-CHAIR) UK
Organizing Chair
- Didier Verna Didier Verna https://www.lrde.epita.fr/~didier/ EPITA / LRE (ORGANIZING-CHAIR) France
Local Chair
- Christophe Rhodes Christophe Rhodes Goldsmiths University of London (LOCAL-CHAIR) UK
Committee
- Christian Queinnec Christian Queinnec University Pierre et Marie Curie (COMMITTEE) Paris 6 France
- Edmund Weitz Edmund Weitz University of Applied Sciences (COMMITTEE) Hamburg Germany
- Giuseppe Attardi Giuseppe Attardi University of Pisa (COMMITTEE) Italy
- Henry Liebermann Henry Liebermann MIT (COMMITTEE) USA
- Marc Freely Marc Freely University of Montreal (COMMITTEE) Canada
- Matthew Flatt Matthew Flatt University of Utah (COMMITTEE) USA
- Nick Levine Nick Levine RavenPack (COMMITTEE) Spain
- Rainer Joswig Rainer Joswig (COMMITTEE) Hamburg Germany
- Robert Strandh Robert Strandh University of Bordeaux (COMMITTEE SPEAKER) France
- Sacha Chua Sacha Chua (COMMITTEE) Toronto Canada
- Stephen Eglen Stephen Eglen University of Cambridge (COMMITTEE) UK
Programme
Times are local to the conference. You can download the programme in iCalendar format here.April 20th
Registration
Welcome Message
Quicklisp: On Beyond Beta
- Zach Beane
Coffee
Efficient Applicative Programming Environments for Computer Vision Applications
- Benjamin Seppke
- Leonie Dreschler-Fischer
Keyboard? How quaint. Visual Dataflow Implemented in Lisp
- Donald Fisk
P2R - Implementation of Processing in Racket
- Hugo Correia
- António Leitão
Lunch
Constraining application behaviour by generating languages
- Paul van der Walt
Processing List Elements in Reverse Order
- Irène Durand
- Robert Strandh
Executable Pseudocode for Graph Algorithms
- Breanndán Ó Nualláin
Coffee
Unwanted memory retention
- Martin Cracauer
Lightning Talks
Conference Dinner
April 21st
A Gentle Introduction to Gendl, a Common Lisp-based Knowledge Based Engineering Environment
- Dave Cooper
Coffee
lambdatalk
- Alain Marty
Symbolic Pattern Matching in Clojure
- Simon Lynch
Escaping the Heap
- Ahmon Dancy
Lunch
µKanren: Running the Little Things Backwards
- Bodil Stokke
Coffee
Woo: a fast HTTP server for Common Lisp
- Eitaro Fukamachi
Clasp: Common Lisp+LLVM+C++
- Christian Schafmeister
Quantum Physics Simulations in Common Lisp
- Miroslav Urbanek
First-class Global Environments in Common Lisp
- Robert Strandh
Lightning Talks
Conference End