Contents

Features

Its fundamental principle is "simplicity". It restricts itself to a single
internal data type (cell), without giving up flexibility and expressive
power. On the language level, it supports just three data types (numbers,
symbols and lists), constructed from internal cells.

Because the only non-atomic data type is the linked list, many
interoperable functions exist that concentrate on list processing. As a
result, PicoLisp programs are often more succinct - and at the same time faster
- than those of other interpreted languages (see "Examples" below).
Functions are free from the restrictions that
would be imposed by a compiler, and can so accept arbitrary types and
numbers of arguments. Macros are needed only in rare cases.

History

Originally developed on the Apple Macintosh in the 1980s, and used in
commercial application development since then. It was soon ported to MS-DOS
and SCO Unix, and used mainly on Linux since 1993. Database functionality
was added in the mid-1990s.

While the first versions were written in a mix of C and Assembly language, a
first rewrite from scratch was done in 1999 completely in C. That version was
released 2002 under the GNU GPL license.

In 2009 the 64-bit version was released, another rewrite, this time written
in a generic assembler which in turn is implemented in PicoLisp.

Execution speed is of course lower than that of most compiled languages,about
18 minutes on a 1.0 GHz Athlon; it should be less on Alioth's Intel
Q6600 machine. As that is a quad-core, it could be sped up by a factor of four
by using a parallelized version: