The VikiD Truth

Knowledge base / Computing / Lisp family

Picolisp Sources

Read This! | Picolisp | Picolisp Machine | Pil Sources | Pil Tutorials | Picolisp By Example | Linux | BASH | C-Programmming | Javascipt | Python | Scheme | Operating Systems | AssemblyLanguage | Computer Security | Firewalls | Exploitation | Social Engineering | Metasploit | Emacs | vim | Pharo Smalltalk | Databases | Networking | Machine Learning | Git | Machine Learning | Algorithms | Open Data Science |

The plain idea

PicoLisp has been implemented three times, and this page indexes my reading of the first two:

Why read interpreter sources at all?

Because PicoLisp is small enough to read. The whole of pil32 is a few thousand lines. You can see exactly how a cell is laid out, how a symbol stores its value and properties, how the garbage collector marks and sweeps, and how eval walks a list. Few languages let you hold the entire machine in your head, and doing it once changes how you write code in any language.

An analogy

Reading a novel tells you the story. Reading the author’s drafts tells you how stories are built. These pages are the drafts.

How to use this page

Start with pico.h for the data structures, then main.c and flow.c to see evaluation, then sym.c and subr.c for symbols and lists. Each source page has a short note saying what the file does. When you are ready for the current system, download pil21 from software-lab.de and compare: the ideas are the same, written a third time.

Examples Examined

32 Bit C Source

64 Bit Asm Source

Picolisp Libraries

Last edited · 24 revisions

Tags: #Computing