Language page — context, influences, and learning notes on the 100hellos site.
Source on GitHub (100hellos/picolisp)
docker run --rm --platform="linux/amd64" 100hellos/picolisp:latest
Read the repo README, or fork the project and customize it.
For an interactive shell:
docker run --rm --platform="linux/amd64" --entrypoint="" -it 100hellos/picolisp:latest zsh
PicoLisp is a minimalist yet powerful Lisp dialect that combines simplicity with remarkable functionality. Created by Alexander Burger, it embodies the philosophy that "less is more" - providing a complete programming environment in an extremely compact implementation.
PicoLisp is unique among Lisp dialects for several reasons:
Unlike most languages, PicoLisp includes a built-in object-oriented database with:
PicoLisp comes with a complete web application framework featuring:
A complete Prolog implementation is built into the language, allowing logic programming alongside functional programming paradigms.
PicoLisp follows several key principles:
The language intentionally lacks many "convenience" features found in other Lisps, such as:
read macros and let expressions)#!/usr/bin/env pil
(prinl "Hello World!")
(bye)
Let's break this down:
#!/usr/bin/env pil - The shebang line tells the system to use the PicoLisp interpreter(prinl "Hello World!") - The prinl function prints its arguments followed by a newline(bye) - Exits the PicoLisp interpreter gracefullyIn PicoLisp, prinl is preferred over print for simple text output because it automatically adds a newline, making output more readable in interactive sessions.
PicoLisp was created by Alexander Burger, who started development in the 1980s as a reaction to the increasing complexity of other Lisp systems. The first public version was released in 1999.
Key milestones:
The name "PicoLisp" reflects its tiny size (pico = 10^-12) compared to other Lisp implementations, while still being a complete development environment.
PicoLisp excels at interactive development. You can explore the language interactively:
# Start the REPL
pil
# Try some basic expressions
: (+ 1 2 3)
-> 6
# Work with lists
: (list 'a 'b 'c)
-> (a b c)
# Define and use functions
: (de hello (name) (prinl "Hello " name "!"))
-> hello
: (hello "World")
Hello World!
-> "World"
To dive deeper into PicoLisp:
pil and explore the built-in help systemPicoLisp proves that a language doesn't need to be large to be powerful. Its integrated approach to programming, databases, and web development makes it a unique tool for building complete applications with minimal overhead.
Content type
Image
Digest
sha256:13ecac28f…
Size
42.6 MB
Last updated
4 months ago
docker pull 100hellos/picolisp