The Rosetta Code Project
Learning another language is not only learning different words for the same things, but learning another way to think about things. (Flora Lewis)

Search for a command to run...
Learning another language is not only learning different words for the same things, but learning another way to think about things. (Flora Lewis)

No comments yet. Be the first to comment.
Sometimes an example says more than 1000 pages of documentation. This series will take specific algorithmns and discuss their implementation in PicoLisp step by step. https://rosettacode.org/
The Task Implement the Drossel and Schwabl definition of the forest-fire model. It is basically a 2D cellular automaton where each cell can be in three distinct states: empty, tree and burning, and evolves according to the following rules: A burni...
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...

On this page
Now that we have covered the basics of PicoLisp, I think it makes sense to study examples to get used to the syntax and programming style before we move on to new topics such as Web Application Programming.
In many ways, a programming language works the same way like a human language. There is a syntax and a vocabulary, and there are things that can be expressed in every language, while other things are quite difficult to translate. The more languages you learn, the more you get aware of the potential of each language.
So how can we do this? There is a very interesting project called "The Rosetta Code Project" named after the famous Rosetta Stone.

The Rosetta Stone is a stele from 194 BC that has inscriptions in three language: Ancient Egyptian, ancient Greek and Demotic. Now the point is that the meaning of the text is the same in all three languages. Since ancient Greek was well known, it was possible to finally decipher the Ancient Egyptian hieroglyphs after the stone was discovered in 1799.
The Rosetta Code Project follows the "Same text, Different languages" idea by presenting implementations of famous algorithms (like the "Dining Philosophers", "Knapsack Problem" or "Towers of Hanoi") in many different programming languages. Besides "standard" languages like C, Python, Java, you will find also many examples for historical or minor languages, which is quite fun to read. Among them of course you will also find many many examples of PicoLisp.
During this loose series, we will pick out some interesting code examples and highlight how the algorithmn is implemented and what are its key points. It will also help us to grasp the difference between a functional implementation of a code vs. for example an object-oriented one.
We will start tomorrow with the PicoLisp translation of the Caesar Cipher, which is a very simple cryptographic system. We will mainly need the string and list functions for this one. Stay tuned :)
Cover: https://upload.wikimedia.org/wikipedia/commons/thumb/2/2a/2007-08-27_Rosetta_Stone_London_0309.JPG/800px-2007-08-27_Rosetta_Stone_London_0309.JPG
http://www.rosettacode.org/wiki/Rosetta_Code