Robert Strandh
A Person with several programming projects in Common Lisp.

Currently, my main project is Gsharp, but in the past, I have also worked on McCLIM.

Some other large projects I am somewhat involved in and some minor projects of my own are:

  • Portable Hemlock. I would like to replace the current buffer implementation with one based on Flexichain (below).
  • Flexichain, an attempt to implement a very efficient gap buffer which also has a well-defined external protocol.
  • An Earley parser with some interesting generalizations that make it useful for processing natural langages.
  • Rotatable skiplist implementation that I needed for Flexichain.
  • A library for reading and writing MIDI files (part of Gsharp).
  • A library to divide a sequence of objects into subsequences in an optimal way, where optimal is externally defined (but with some restrictions), and incrementally so that after the sequence has been edited, only a constant-time computation is necessary in order to recompute the new optimal subsequences. I use this to divide a music score into pages and systems in Gsharp essentially after each key stroke. It could also be used in a word processor such as Texmacs, or in Closure. This library is part of the Gsharp distribution.
  • SICL is an attempt to re-implement Common Lisp from scratch, hopefully using improved programming and bootstrapping techniques, and providing clearly separated, reusable modules, which may be used by other Lisp implementors. It is a work in progress, not considered to be usable yet. Also see the Common-Lisp.Net page.

Here are some projects that I have not yet started, but that I am thinking of:

  • A near-real-time, generational, SMP-aware garbage collector for some current implementation such as SBCL.
  • A very fast FFT implementation to be used with current free implementations of Common Lisp.
  • A library for analysis, manipulation, and synthesis of sound (this is actually being worked on).

My home page is at (dangling link) the laboratory of computer science (LaBRI) at the university of Bordeaux where I work. Staff Profile at The University of Auckland NZ