30 lines
No EOL
1.8 KiB
Text
30 lines
No EOL
1.8 KiB
Text
{{language
|
|
|exec=interpreted
|
|
|checking=dynamic
|
|
|gc=yes
|
|
|site=http://home.picolisp.com}}
|
|
{{implementation|Lisp}}
|
|
[[Category:Lisp Implementations]]
|
|
|
|
'''PicoLisp''' is a small and fast interpreted [[Lisp]] dialect.
|
|
It runs on [[Linux]] and other [[POSIX]]-compliant systems, and - in a reduced version - on [[JVM]].
|
|
|
|
Its most prominent feature is "simplicity". It is built on top of a single internal data type (the 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.
|
|
|
|
PicoLisp programs are often more succinct - and at the same time faster - than those of other interpreted languages.
|
|
A special feature is the intrinsic database functionality: Persistent symbols are first-class objects, and applications are written using a class hierarchy of entities and relations.
|
|
|
|
Other features include a [[Prolog]] engine for logic programming and database queries, distributed databases, inlining of [[C]]/asm functions and native C/asm function calls, child process management, interprocess communication, Browser GUI, Internationalization and localization.
|
|
|
|
To try the RosettaCode tasks, download [http://software-lab.de/picoLisp.tgz picoLisp.tgz], unpack it, and follow the instructions in README and INSTALL. Unless stated otherwise, the examples assume that the interpreter was started with the command <lang bash>$ pil +
|
|
: </lang>
|
|
(i.e. with a '+' for "debug mode", as recommended in the documentation.
|
|
Note: Do not call just the 'picolisp' binary, this is only the bare kernel of PicoLisp)
|
|
|
|
==See Also==
|
|
* [http://software-lab.de/doc/ref.html Reference Manual]
|
|
* [http://software-lab.de/doc/faq.html Frequently asked questions]
|
|
|
|
==Todo==
|
|
[[Reports:Tasks_not_implemented_in_PicoLisp]] |