Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

PicoLisp

From Wikipedia, the free encyclopedia
Programming language, a dialect of the language Lisp
PicoLisp
ParadigmsFunctional,procedural,object-oriented,declarative,reflective,meta
FamilyLisp
Designed byAlexander Burger
First appeared1988; 38 years ago (1988)
Typing disciplineduck,dynamic,strong
Implementation languageLLVM, PicoLisp
OSPOSIX
LicenseMIT
Filename extensions.l
Websitepicolisp.com
Dialects
Ersatz PicoLisp, miniPicoLisp[1]

PicoLisp is a programming language, adialect of the languageLisp. It runs onoperating systems includingLinux and others that arePortable Operating System Interface (POSIX) compliant. Its most prominent features are simplicity andminimalism. It is built on one internaldata type: a cell. On the language level, a programmer can use three differentdata types (numbers, symbols, and lists) being represented by cells and differentiated by bits at the end of the cell.[2] It isfree and open-source software released under anMIT License (X11).

Features

[edit]

Functions can accept arbitrary types and numbers of arguments. Macros are needed only in rare cases and are implemented using the quote function. PicoLisp does not include Lisp'slambda function. This is because the quote function is changed to return all its arguments unevaluated, not only thecar of the first.[3]

A special feature is the intrinsiccreate, read, update, and delete (CRUD) functioning.Persistent symbols arefirst-class citizens (objects), they are loaded fromdatabase files automatically when accessed, and written back when modified. Applications are written using aclass hierarchy ofentities and relations.

Other features include:Prolog engine,database engine and database queries, distributed databases, inlining ofC language functions and native C function calls, child process management,interprocess communication, browsergraphical user interface (GUI), andinternationalization and localization.

History

[edit]

The design of PicoLisp is most similar to the first version of MacLisp, Interlisp and mainly Portable Standard Lisp.[4] It was ported toDOS andSCO Unix. Since 1993, it was used mainly on Linux. In the mid-1990s, database functions were added.[citation needed]

The first versions were written in a mix of C andassembly language. In 1999, a firstrewrite from scratch was done, fully in C. In 2002, that version was released under aGNU General Public License (GNU GPL). In 2010, it changed to an MIT/X11 license.

In 2009, the64-bit version was released, another rewrite, this time written in generic assembly, which in turn is implemented in PicoLisp. This version adds support forcoroutines.

In December 2010, aJava version namedErsatz PicoLisp was released.[5]

In September 2014, Burger announced the PilMCU project on the PicoLisp developmentlistserv, an effort with George Orais to implement PicoLisp in hardware directly.[6]

In July 2015, Burger announced PilOS - The PicoLisp Operating System, a minimal prototype based on the modification of PilMCU targeting embedded applications.[7] It runs on standard x86-64 PC hardware, directly off the BIOS and includes all the features of 64-bit PicoLisp (minus native function calls, due to the fact there is no other native environment such as the C standard library); in principle, it works as its own operating system.[8]

In the summer of 2016, development ofPilBox ("PicoLisp Box") – a genericAndroidapp allowing to write apps in pure PicoLisp – was started. It is still being developed and maintained.[9]

In 2021, PicoLisp was re-implemented inLLVM and released aspil21. The source language which is compiled toLLVM-IR is also in PicoLisp syntax.

Timeline of Lisp dialects
19581960196519701975198019851990199520002005201020152020
 LISP 1, 1.5,LISP 2(abandoned)
 Maclisp
 Interlisp
 MDL
 Lisp Machine Lisp
 Scheme R5RS R6RS R7RS small
 NIL
 ZIL (Zork Implementation Language)
 Franz Lisp
 muLisp
 Common Lisp ANSI standard
 Le Lisp
 MIT Scheme
 XLISP
 T
 Chez Scheme
 Emacs Lisp
 AutoLISP
 PicoLisp
 Gambit
 EuLisp
 ISLISP
 OpenLisp
 PLT Scheme Racket
 newLISP
 GNU Guile
 Visual LISP
 Clojure
 Arc
 LFE
 Hy

References

[edit]
  1. ^"PicoLisp Download".Software Lab. Retrieved18 November 2018.
  2. ^Burger, Alexander."Internal structures".Software Lab. Retrieved18 November 2018.
  3. ^"Even small details make a difference!".
  4. ^"Re: PicoLisp roots".
  5. ^Burger, Alexander (8 May 2013)."Ersatz PicoLisp".Software Lab.
  6. ^"Announce: PicoLisp in Hardware".
  7. ^"PilMCU is dead - Long live PilOS!".
  8. ^"PicoLisp Wiki: Pilos".
  9. ^"PicoLisp PilBox on Google PlayStore".

External links

[edit]
Features
Object systems
Implementations
Standardized
Common
Lisp
Scheme
ISLISP
Unstandardized
Logo
POP
Operating system
Hardware
Community
of practice
Technical standards
Education
Books
Curriculum
Organizations
Business
Education
People
Common
Lisp
Scheme
Logo
POP
Retrieved from "https://en.wikipedia.org/w/index.php?title=PicoLisp&oldid=1328189337"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp