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.
