Welcome to Lisp learning Wiki!

This site is intended to help you learn a Lisp programming language by the means of comparison some common programming patterns in Lisp and other languages. You can learn more about this idea, or go directly to the content, choose a programming language you already know, then choose a Lisp dialect you want to learn, and start reading articles.

Currently I'm trying to set up this site, so it might not work well and the content might be incomplete and buggy. After the site is set up, its content might be still incomplete and buggy, but Wikidot users and the Lisp learning wiki members will be able to improve it.

The idea

Learning a new programming language is always a challenging task. This is also the truth when it comes to learning a new foreign language. English is different from my mothertongue (Polish), and it wasn't easy for me to learn it. While I was learning English, I made use of Polish-English dictionaries. I knew Polish and I knew what I want to say, and I wanted to find out how it should be said in English. That's what dictionaries are for.

I think that when it comes to learning a new programming language, such a dictionary might be also helpful. If you already know some programming language, and you know what you want to say (solve), you just need to find out how it should (or could) be said in this new programming language.

However, providing simple word-to-word tlanslation is sometimes not enough. English and Polish are different languages, and different language constructs are used to say the same thing. Programming languages are similar: they have their own philosophy and even when the same features are available, solutions of the same problems, or programming patterns might differ. For example, in Python dictionaries are the most common data type, while in Java the most common data type are user-defined classes (although maps are also available). Therefore this wiki is not meant to be an ordinary dictionary. My intention is to translate common programming patterns rather, than single constructs.

How to use this site

It's simple. You already know some programming language, don't you? So go ahead, choose it. And then choose the Lisp dialect you want to learn. You'll find the page with articles you can study to learn the chosen dialect of Lisp.

How can you improve this site

First of all: you can write your own articles. Feel free to create a new programming language (in case the language of your choice doesn't exist), or a new Lisp dialect. Feel free to create new articles, covering topics you find useful, interesting and/or missing.

You can read the articles and improve them. So far I'm learning Lisp myself, so my knowledge is probably very limited and buggy. If you find that something is wrong, go ahead and fix it.

And finally, if you'd like to drop me some lines about this site (e.g. saying that it sucks/great, or proposing new ideas), feel free to send me an e-mail on address tprimke _at_ ymail _dot_ com.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution 3.0 License