Since we’re on a trend of languages that were contributed by the community, why stop? After all, I’m having a lot of fun with this, and I really appreciate the support. At any rate, let’s tackle Hello World in PicoLisp, an addition made by GitHub user @cess11.
Table of Contents
- PicoLisp Background
- Hello World in PicoLisp
- How to Run the Solution
- Sample Programs in Every Language
PicoLisp Background
According to Wikipedia, PicoLisp is a dialect of Lisp which was first developed in 1988 by Alexander Burger. Since then, PicoLisp has seen some variation including the latest Java version known as Ersatz PicoLisp.
In terms of features, PicoLisp is dynamically typed and simple/minimalist—sorry, info on the language is quite limited. For simplicity, PicoLisp only supports one internal data type, the cell. Beyond that, PicoLisp supports linked lists which means the language is an excellent list processor.
Today, PicoLisp can be found on GitHub as an open-source project. For more information, check out the PicoLisp Official Website.
Hello World in PicoLisp
Without further ado, let’s implement Hello World in PicoLisp:
(prinl "Hello, World!")
And, perhaps unsurprisingly, that’s it! With a single line, we can print Hello World in PicoLisp.
Of course, let’s break down what’s happening. Since PicoLisp is a dialect of Lisp, we can expect a ton of parentheses. In fact, our solution requires a single set of parentheses at a minimum.
Inside the parentheses, we have a function call. In this case, the print function is named prinl and the input is our “Hello, World!” string. When executed, our string will print to the console.
How to Run the Solution
If we want to run the solution, we can try an online editor. However, I ran into some problems with this particular editor.
Alternatively, if we have access to a Unix, Linux, or Mac machine, we can easily download and install the latest version of PicoLisp. That said, @cess11 has a great video proving that this solution works:
And, that’s it! If implemented correctly, the solution should print “Hello, World!” to the console.
Sample Programs in Every Language
Well, I guess we’re done with this language. I apologize for the rather short article. Beyond what was on the Wikipedia page and the Official Website, I couldn’t find a lot to talk about. Perhaps when I write up the Reverse a String article, we’ll get to see the language in more detail.
At any rate, thanks again for stopping by and a special thanks to @cess11 for implementing the solution and sharing the asciicinema clip.
As always, if you enjoyed this article and would like to see more, let me know in the comments. In addition, don’t forget to give the article a share. That helps the content get to other people who might enjoy it.
Up next, I’m looking to continue my streak of covering language additions by the community. In fact, I’ve already gotten quite the backlog: Bash, Google Apps Script, Swift, C*, and LOLCODE. Check back soon if any of those languages sound interesting.
Recent Posts
This week, we're hitting another beginner topic: the assignment operator. While the idea is simple, the concept is rich in related ideas like scope, iterable unpacking, and augmented assignment.
Recently, I was thinking about the old Pavlov's dog story and how we hardly treat our students any different. While reflecting on this idea, I decided to write the whole thing up for others to read....