On Fri, Jul 20, 2012 at 5:35 AM, Alexander Burger <a...@software-lab.de>wrote:
On Fri, Jul 20, 2012 at 02:25:53PM +0200, Thorsten Jolitz wrote:
> > I think 'PicoLisp Works' would work pretty well as a title ...
> Yes, a nice title indeed.
Yet another little flash in the pan, which means a quick flare not a
Reaching out to Kazimir Majorinc for a contribution:
What is Fluchtpunkt?
Fluchtpunkt Lisps are…
1. *Focused*: Uncompromising in their vision
2. *Spartan*: Devoid of the seemingly unnecessary comforts found in many
3. *Controversial*: Not always by design, but often because of their
Pico Lisp <http://picolisp.com/5000/-2.html>
I first came across Pico Lisp when reading the paper “Pico Lisp: A Radical
Approach to Application Development” <http://software-lab.de/radical.pdf> by
and was instantly fascinated. The primary goal is to provide an idealized
Lisp interpreter that runs as fast as possible. To accomplish
this goal Pico Lisp limits its feature set and optimizes the code path
along the dimensions of its features. The core types provided by
Pico Lisp are numbers, symbols, and lists. Given the paucity of these types
Pico Lisp has the advantage of always taking the most
direct interpretation path and thus avoiding any unnecessary checks and
abstractions that a more corpulent Lisp might require. For
example, Pico Lisp’s quote function is defined in such a way that it
returns all of its arguments unevaluated allowing the operation
of quote to optimize into only a return of itscdr rather than the car of
its cdr. Simple no?
Pico Lisp is, in my opinion, the most interesting entry in a family of*really
really small Lisps* that also includes
and femtoLisp <http://code.google.com/p/femtolisp/>,
although I would hesitate to include these latter two in the Fluchtpunkt
Not that I'm expert in *Picolisp*, but I think I understand it well enough
for short introduction. *Picolisp *is somehow Spartan dialect of *Lisp *
- for example, it doesn't support floating point numbers, and it is not
available on *Windows *- except by using*VirtualBox* or something like
that. But it is dynamically scoped, and it supports some powerful and
interesting features as fexprs, coroutines and anonymous symbols,
integrated *Prolog *and database. It is particularly interesting that *
Picolisp *doesn't have strings - the symbols are used for that purpose. On
the first sight, absence doesn't look like advantage, but it is, because
all usual functions defined on strings now work directly on symbols,
without need for conversion.
As a bonus, *Picolisp *might be the fastest *Lisp *interpreter, written
entirely (in 64 bit version) in assembly language.
The author of *Picolisp *is *Alexander Burger <http://software-lab.de/>*;
as *Picolisp *is, in spirit, very similar to*Newlisp*, we can almost speak
about German school of