Functional Programming in PicoLisp
Minimalists out there, this one is for you.

Search for a command to run...
Minimalists out there, this one is for you.

Hey Mia! Picolisp noob from the foothills of the Rockies SW of Calgary, Alberta, Canada. I started my Picolisp journey a few days ago. I'm just am amateur/hobbyist. I thoroughly enjoyed the few of your blog posts/tutorials that I've read so far. Thanks! Hope that you're on irc:#picolisp as well. BTW, I've learned other languages best via CGI etc. I'm hoping to do the same with PicoLisp. 💐
Already sold, this is a place I will come and read as often as there are posts. Personally love XKCD. My LISP interests all started with two books, "Masterminds of Programming" and "Coders at Work" which interviewed the top language creators that almost everything rests upon and their common LISP backgrounds.
They also implied a guarantee for LISP, once grok'd, that you could go back years later and read the code as plain English unlike many legacy languages.
I'll share this again: https://www.youtube.com/watch?v=SGUCcjHTmGY&t=664s
https://www.youtube.com/watch?v=SGUCcjHTmGY&t=664s
Terry Palfrey Hi Terry, thanks for your support and input! Your video link is super interesting.
In our previous post, we introduced how to utilize Discrete Event Simulation (DES) in PicoLisp. Now, let's explore another application: a railroad model simulation that includes tracks and trains. The visualization is ASCII-based, so feel free to unl...

The Dining Philosophers

In this post, we will introduce the concept of co-routines and how they are handled in PicoLisp. This will be the foundation for the subsequent posts on Discrete Event Simulation and finally a couple of examples, including an ASCII model railway simu...

One of the many nice things of PicoLisp is that it comes with a built-in database. This makes it easy to collect and store our own data, for example via a mobile app. But not all data is best represented in tables and lists: sometimes a colorful litt...

In the last two posts, we have built a little app that shows the current location and displays the nearest ice cream shops: https://picolisp-explored.com/an-openstreetmap-app-written-in-picolisp-pt-1 https://picolisp-explored.com/an-openstreetmap-ap...

Nice to meet you. I'm Mia, and in this blog, I would like to introduce to you a very interesting small programming language, PicoLisp.
I started to play around in it recently, and one of the key points is that it is super minimalistic. It really helps you to understand what is going on internally, which is usually not the case in high-level languages like JavaScript.
As a Lisp dialect, it also supports functional paradigms which allows elegant and transparent code after you got used to the syntax.
As the first step, I plan to build up a concise and structured beginner's level course with a lot of examples and code analysis. This blog is for readers who already have some basic programming experience, but I want to keep the threshold as low as possible. The important thing is that you are curious and open for new concepts and ideas. I guess it will also be helpful if you don't hate math, since there will be a lot of examples from the Euler Project and Rosetta Code Project because I personally like these a lot. 😄
Let's go!
PicoLisp is a programming language, or really a programming system, including a built-in database engine and a GUI system. It's simple and lightweight and encourages clean, concise code. As you might guess, it belongs to the family of lisp languages.
Beneath the surface of the language lies the PicoLisp virtual machine. At the lowest level, the VM operates on a single data structure - the cell. A cell is just a pair of pointers, 'CAR' and 'CDR'.

All functions and data in the system are stored in cells, which simply point to each other to form arbitrarily complex structures. From these cells, we construct three base data types - Numbers, Symbols, and Lists - and from those, the rest of our universe.
So once you grok the underlying cell structure (which you pretty much already have), you just need to explore a small but powerful set of functions that do cool things with those cells.
It's that simple!
Fact sheet:
The answer is: Because it is beautiful, efficient, and fun.
However, PicoLisp should not be confused with Common Lisp, as there are substantial differences in design and philosophy.
https://xkcd.com/297/
Check out the "PicoLisp for beginners"-series, which I will start from tomorrow, or follow the documentation for installation guidelines.
There is also a small but vibrant community around the picolisp ecosystem in IRC, mailing list in bi-weekly conferences. New members are always welcome. Check the websites for more information.
https://en.wikipedia.org/wiki/PicoLisp
https://software-lab.de/doc/tut.html
https://picolisp.com/wiki/
cartoon by https://xkcd.com/297/