The purpose of the European Lisp Symposium is to provide a forum for the discussion and dissemination of all aspects of design, implementation and 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.
Proceeding Downloads
Refactoring Dynamic Languages
Typically, beginner programmers do not master the style rules of the programming language they are using and, frequently, do not have yet the logical agility to avoid writing redundant code. As a result, although their programs might be correct, they ...
Type-Checking of Heterogeneous Sequences in Common Lisp
We introduce the abstract concept of rational type expression and show its relationship to rational language theory. We further present a concrete syntax, regular type expression, and a Common Lisp implementation thereof which allows the programmer to ...
A CLOS Protocol for Editor Buffers
We introduce the abstract concept of rational type expression and show its relationship to rational language theory. We further present a concrete syntax, regular type expression, and a Common Lisp implementation thereof which allows the programmer to ...
Using Lisp Macro-Facilities for Transferable Statistical Tests
Model-free statistical tests are purely data-driven approaches to assess correlations and other interdependencies between observable quantities. The few, distinct patterns how to perform these tests on the myriad of potentially different interdependence ...
A High-Performance Image Processing DSL for Heterogeneous Architectures
Over the last decade a number of high performance, domainspecific languages (DSLs) have started to grow and help tackle the problem of ever diversifying hard- and software employed in fields such as HPC (high performance computing), medical imaging, ...
A modern implementation of the LOOP macro
Most Common Lisp implementations seem to use a derivative of MIT loop. This implementation predates the Common Lisp standard, which means that it does not use some of the features of Common Lisp that were not part of the language before 1994. As a ...
Source-to-Source Compilation via Submodules
Racket's macro system enables language extension and definition primarily for programs that are run on the Racket virtual machine, but macro facilities are also useful for implementing languages and compilers that target different platforms. Even when ...
Extending Software Transactional Memory in Clojure with Side-Effects and Transaction Control
In conjunction with the increase of multi-core processors the use of functional programming languages has increased in recent years. The functional language Clojure has concurrency as a core feature, and provides STM as a substitute for locks. ...
CANDO: A Compiled Programming Language for Computer-Aided Nanomaterial Design and Optimization Based on Clasp Common Lisp
CANDO is a compiled programming language designed for rapid prototyping and design of macromolecules and nanometer-scale materials. CANDO provides functionality to write programs that assemble atoms and residues into new molecules and construct three-...
A Case Study in Implementation-Space Exploration
In this paper we show how a feature-oriented development methodology can be exploited to investigate a large set of possible implementations for a real-time rendering algorithm. We rely on previously published work to explore potential dimensions of the ...
Accessing local variables during debugging
Any reasonably large program has to use local variables. It is quite common in the Lisp language family to also allow functions that exist only in a local scope. Scoping rules often allow compilers to optimize away parts of the local environment; doing ...
Building Common Lisp programs using Bazel
We will demonstrate how to build Common Lisp programs using Bazel, Google's hermetic and reproducible build system. Unlike the state of the art so far for building Lisp programs, Bazel ensures that incremental builds are always both fast and correct. ...
Fast Interactive Functional Computer Vision with Racket
Functional programming languages, like Lisp or Racket are known to be general purpose languages with a steep learning curve and wide range of applications. They can be used interactively to solve problems and have inspired other com- parably new ...
An Inferred System Description
A "continuous integration" program development process involves interpreting dependency relations, - between program components respective the given development step, and - between test and program components. This essay describes how to capture these ...
Distributed High Performance Computing in Common Lisp
High Performance Computing (HPC) is the Formula 1 of computer programming and deals with the solution of problems that have a practically inexhaustible demand for compute resources, e.g. accurate physics simulations. We present the library CL-MPI and ...
Index Terms
- Proceedings of the 9th European Lisp Symposium on European Lisp Symposium
Recommendations
Standard LISP (reprint)
When it was first formulated in 1960, (1) the programming language LISP was a truly machine independent language. However, even the earliest computer implementation encountered problems in input-output control and the handling of free variables which ...
On compiling embedded languages in LISP
LFP '80: Proceedings of the 1980 ACM conference on LISP and functional programmingIn INTERLISP we find a number of embedded languages such as the iterative statement and the pattern match facility in the CLISP package, the editor and makefile languages and so forth. We will in this paper concentrate on the problem of extending the ...