Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Features  





2 History  





3 References  





4 External links  














PicoLisp






Esperanto
עברית
Русский

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 

(Redirected from Picolisp)

PicoLisp
ParadigmsFunctional, procedural, object-oriented, declarative, reflective, meta
FamilyLisp
Designed byAlexander Burger
First appeared1988; 36 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, a dialect of the language Lisp. It runs on operating systems including Linux and others that are Portable Operating System Interface (POSIX) compliant. Its most prominent features are simplicity and minimalism. It is built on one internal data type: a cell. On the language level, a programmer can use three different data types (numbers, symbols, and lists) being represented by cells and differentiated by bits at the end of the cell.[2] It is free and open-source software released under an MIT 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's lambda function. This is because the quote function is changed to return all its arguments unevaluated, not only the car of the first.[3]

A special feature is the intrinsic create, read, update, and delete (CRUD) functioning. Persistent symbols are first-class citizens (objects), they are loaded from database files automatically when accessed, and written back when modified. Applications are written using a class hierarchyofentities and relations.

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

History

[edit]

In the 1980s, PicoLisp began development on the Macintosh, and was used in commercial application[which?] development since then.[citation needed] The design of PicoLisp is most similar to the first version of MacLisp, Interlisp and mainly Portable Standard Lisp.[4] It was ported to DOS and SCO Unix. Since 1993, it was used mainly on Linux. In the mid-1990s, database functions were added.

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

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

In December 2010, a Java version named Ersatz PicoLisp was released.[5]

In September 2014, Burger announced the PilMCU project on the PicoLisp development listserv, 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 of PilBox ("PicoLisp Box") – a generic Android app allowing to write apps in pure PicoLisp – was started. It is still being developed and maintained.[9]

In 2021, PicoLisp was re-implemented in LLVM and released as pil21. The source language which is compiled to LLVM-IR is also in PicoLisp syntax.

  • e
  • 1958 1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 2015 2020
     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
     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
     Chialisp

    References

    [edit]
    1. ^ "PicoLisp Download". Software Lab. Retrieved 18 November 2018.
  • ^ Burger, Alexander. "Internal structures". Software Lab. Retrieved 18 November 2018.
  • ^ "Even small details make a difference!".
  • ^ "Re: PicoLisp roots".
  • ^ Burger, Alexander (8 May 2013). "Ersatz PicoLisp". Software Lab.
  • ^ "Announce: PicoLisp in Hardware".
  • ^ "PilMCU is dead - Long live PilOS!".
  • ^ "PicoLisp Wiki: Pilos".
  • ^ "PicoLisp PilBox on Google PlayStore".
  • [edit]
    Retrieved from "https://en.wikipedia.org/w/index.php?title=PicoLisp&oldid=1216371454"

    Categories: 
    Lisp programming language family
    Dynamically scoped programming languages
    Dynamically typed programming languages
    Programming languages created in 1988
    Hidden categories: 
    Articles with short description
    Short description matches Wikidata
    All articles with specifically marked weasel-worded phrases
    Articles with specifically marked weasel-worded phrases from July 2018
    All articles with unsourced statements
    Articles with unsourced statements from July 2018
    Official website different in Wikidata and Wikipedia
     



    This page was last edited on 30 March 2024, at 16:01 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki