Hello World in PicoLisp

Hello World in PicoLisp Featured Image

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 @cess11Opens in a new tab..

Table of Contents

PicoLisp Background

According to WikipediaOpens in a new tab., 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 GitHubOpens in a new tab. as an open-source project. For more information, check out the PicoLisp Official WebsiteOpens in a new tab..

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 editorOpens in a new tab.. 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 PicoLispOpens in a new tab.. That said, @cess11Opens in a new tab. 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 @cess11Opens in a new tab. for implementing the solution and sharing the asciicinema clipOpens in a new tab..

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.

Sample Programs in Every Language (44 Articles)—Series Navigation

For 100 Days of Code, I’ve decided to implement a few sample programs in as many languages as possible. Each implementation details a brief history of the language and a description of the code.

The plan for the series is to explore the major general-purpose language like Java, Python, C, C++, and C#. From there, we’ll take a look at some sample programs in web development languages like Ruby, PHP, and JavaScript. As we continue, we’ll cover proprietary languages like Swift and Objective-C. Eventually, we’ll start to tackle less popular languages like Rust, x86, and Verilog. Finally, we’ll play around with some of the esoteric languages like Brainf*ck and LOLCODE.

Who knows? Maybe the Sample Programs in Every Language series will become so popular it’ll never end. To help this series grow, consider sharing it on social media with your friends. Or, if you have a language you want to see, drop your suggestion in the comments.

Jeremy Grifski

Jeremy grew up in a small town where he enjoyed playing soccer and video games, practicing taekwondo, and trading Pokémon cards. Once out of the nest, he pursued a Bachelors in Computer Engineering with a minor in Game Design. After college, he spent about two years writing software for a major engineering company. Then, he earned a master's in Computer Science and Engineering. Today, he pursues a PhD in Engineering Education in order to ultimately land a teaching gig. In his spare time, Jeremy enjoys spending time with his wife and kid, playing Overwatch 2, Lethal Company, and Baldur's Gate 3, reading manga, watching Penguins hockey, and traveling the world.

Recent Posts