ELS Editions

4th European Lisp Symposium

Special Focus on Parallelism & Efficiency

March 31st - April 1st, 2011
TUHH, Hamburg University of Technology, Hamburg, Germany

  • Wednesday March 30
  • Thursday March 31
    • 08:30–09:00
      Registration
    • 09:00–09:30
      Welcome
    • 09:30–10:30
      Keynote I: Compiling for the Common Case
      Craig Zilles, University of IllinoisRead Bio

      Microprocessor vendors are actively exploring mechanisms that offer the potential to reduce the effort to produce parallel code. One such mechanism, is the ability to atomically execute code which is useful for accelerating critical sections, lock-free data structures, and for implementing transactional memory. With 3 prior implementations (Transmeta's Crusoe, Azul's Vega, and Sun's Rock) this mechanism has a lot of potential to be ubiquitous in the next decade. In this talk, I'll discuss how this mechanism can be re-purposed to provide very efficient user-mode checkpoint/rollback, allowing a compiler to generate "speculative" versions of code that support only the expected case. I'll detail our experiences exploring compiling in such an environment in the context of an x86 binary translator, a Java virtual machine, and the Python dynamic language.

    • 10:30–11:00
      Coffee Break
    • 11:00–12:30
      Session I: Parallelism
      • Supercomputing in Lisp
        Valentin Pavlov
      • A Futures Library and Parallelism Abstractions for a Functional Subset of Lisp
        David L Rager, Warren A. Hunt and Matt Kaufmann
    • 12:30–14:00
      Lunch Break
    • 14:00–15:00
      Keynote II: Reconfigurable Computing on Steroids: Using Common Lisp to Generate Domain Specific Hardware
      Marc Battyani, NovaSparks Read Bio

      General purpose CPUs have been hitting the frequency wall but as the number of transistors in electronic chips continues to steadily increase, there is a tremendous need for other computing paradigms. One of them is the use of reconfigurable hardware (FPGA) to accelerate specific kinds of computations. Even though the performance gain can be huge, FPGAs are notoriously very difficult to program, which has been one of the major drawbacks in their adoption. There have been several attempts to solve this problem using C to VHDL/Verilog compilers. Though this can be useful at times, our opinion is that it is not a good approach. In this talk, we will explain how and why we use domain specific languages that enable us to generate high performance Domain Specific Hardware optimized for the final tasks being implemented. We will also present our experience at NovaSparks where we have been using Common Lisp to successfully define and implement those DSL->DSH compilers in financial applications since 2007.

    • 15:00–15:30
      Coffee Break
    • 15:30–17:00
      Session II: Performance & Distribution
      • Implementing huge term automata
        Irène Durand
      • Jobim: an Actors Library for the Clojure Programming Language
        Antonio Garrote Hernández and María N. Moreno García
    • 17:00–18:00
      Lightning Talks
    • 20:00
      Conference Dinner

      Das Feuerschiff Bar — Pub — Restaurant — Café — Cabins
      City Sporthafen, Vorsetzen; 20459 Hamburg

  • Friday April 1
    • 09:00–10:00
      Keynote III: Scala: an Object-Oriented Surprise
      Apostolos Syropoulos Read Bio

      Scala is an OO language that was released in 2003. The distinguished features of Scala include a seamless integration of functional programming features into an otherwise OO language. Scala owes its name to its ability to scale, that is, it is a language that can grow by providing an infrastructure that allows the introduction of new constructs and data types. Scala is a compiled language. Its compiler produces bytecode for the Java Virtual Machine, thus, allowing the (almost) seamless use of Java tools and constructs from within Scala. Most importantly, Scala is a concurrent programming language, thus, it is a tool for today as well as tomorrow.

    • 10:00–10:30
      Coffee Break
    • 10:30–12:00
      Session III: Common Lisp
      • SICL, Building Blocks for Implementers of Common Lisp
        Robert Strandh and Matthieu Villeneuve
      • Using Common Lisp in University Course Administration
        Nicolas Neuss
    • 12:00–13:30
      Lunch Break
    • 13:30–15:00
      Session IV: Scheme & Racket
      • Bites of Lists - Mapping and Filtering Sublists
        Kurt Normak
      • The Scheme Natural Language Toolkit (S-NLTK): NLP Library for R6RS and Racket
        Damir Cavar, Tanja Gulan, Damir Kero, Franjo Pehar and Pavle Valerjev
    • 15:00–15:30
      Coffee
    • 15:30–16:15
      Presentation
      • Parallelizing a Commercial Common Lisp codebase for Performance
        Alec Berryman
    • 16:15–17:30
      Panel: The Next Lisp Challenges — Distribution, Concurrency, Parallelism
    • 17:00–18:00
      Announcements & Wrap-up