Picolisp

From Wikipedia, the free encyclopedia
PicoLisp
Paradigm(s) functional, procedural, object-oriented, declarative, reflective, meta
Appeared in 1988
Designed by Alexander Burger
Stable release 3.1.5 (December 31, 2013 (2013-12-31))
Typing discipline duck, dynamic, strong
Platform POSIX
License MIT, X11
Usual filename extensions .l
Website picolisp.com

    PicoLisp is an open source Lisp dialect. It runs on Linux and other POSIX-compliant systems.

    Features

    Its most prominent feature is "simplicity". It is built on top of 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 from Rosetta Code[1]). 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.

    A special feature is the intrinsic database functionality. Persistent symbols are first-class objects, they are loaded from database files automatically when accessed, and written back when modified. Applications are written using a class hierarchy of entities and relations. Additional features include: Prolog engine and database queries, distributed databases, inlining of C language functions and native C function calls, child process management, interprocess communication, browser GUI, and internationalization.

    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, and changed to a MIT/X11 license in 2010.

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

    A Java version was released in December 2010.[2]

    External links

    References

    This article is issued from Wikipedia. The text is available under the Creative Commons Attribution/Share Alike; additional terms may apply for the media files.