The VikiD Truth

Knowledge base / Computing / Lisp family

Picolisp By Example

Read This! | Picolisp | Picolisp Machine | Pil Sources | 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

This page is my personal problem set for learning PicoLisp by doing: a collection of small, interesting programming problems worked through in PicoLisp, inspired by the book PicoLisp by Example. The best way to learn a Lisp is not to read about it but to solve little puzzles in it, so that is what I collect here.

Why learning by example works

PicoLisp is small and unusually consistent, which makes it ideal for this. Each problem, drawn from the classic “Ninety-Nine Lisp Problems” and the Rosetta Code tasks, is a self-contained chance to practise one idea: recursion, list manipulation, higher-order functions. You read the problem, try it yourself, then compare with a worked solution. The friction of actually typing and running code is where the learning happens.

An everyday analogy

You do not learn a language from a phrasebook; you learn it by having real little conversations. These problems are those conversations: short enough to finish, varied enough to stretch you, and each one leaving you a bit more fluent.

A note on the sources

The “99 Lisp Problems” began life as a Prolog problem list by Werner Hett and were adapted for Lisp; Rosetta Code collects the same task solved across hundreds of languages, which makes it a superb way to see how PicoLisp’s approach differs from, say, Python or Scheme. I am not reproducing the book, just using it as a springboard for my own list of problems and solutions.

Examples Studied

Picolisp by Example (by Alexander Burger & Thorsten Jolitz) is a book that provides in the first part of the book (99 Lisp Problems) is based on a Prolog problem list by werner.hett@hti.bfh.ch. p99 & 600+ Rosetta Code Tasks with Solutions.

What I have attempted to do here is not to copy this fine piece of work, but to use it as insperation and a guide create my own list of interesting problems and solutions.

Last edited · 5 revisions

Tags: #Computing