Updating conversion, creating readmes

This commit is contained in:
Jonas Zeunert
2024-04-19 23:37:46 +02:00
parent 3619ac710a
commit 08e75b0f0a
635 changed files with 30878 additions and 37344 deletions

View File

@@ -1,4 +1,4 @@
 Awesome Common Lisp Learning !Awesome (https://awesome.re/badge.svg) (https://awesome.re)
 Awesome Common Lisp Learning !Awesome (https://awesome.re/badge.svg) (https://awesome.re)
 
@@ -37,16 +37,15 @@
Lisp Environments
You can run a Lisp implementation directly, but an editing environment makes the experience easier.
- Prepackaged environments
 - Portacle (https://shinmera.github.io/portacle/) - A portable and multiplatform Common Lisp environment. It ships a slightly customized Emacs with SLIME, SBCL (a popular Common Lisp implementation), Quicklisp
and Git. No installation needed, so it's a very quick and easy way to get going.
 - Lispbox (https://common-lisp.net/project/lispbox/) - An IDE (Emacs + SLIME), Common Lisp implementation (Clozure Common Lisp) and library manager (Quicklisp), pre-packaged as archives for Windows, macOS and 
Linux. Descendant of "Lisp in a Box" mentioned (http://www.gigamonkeys.com/book/lather-rinse-repeat-a-tour-of-the-repl.html) in Practical Common Lisp.
 - Portacle (https://shinmera.github.io/portacle/) - A portable and multiplatform Common Lisp environment. It ships a slightly customized Emacs with SLIME, SBCL (a popular Common Lisp implementation), Quicklisp and Git. No installation
needed, so it's a very quick and easy way to get going.
 - Lispbox (https://common-lisp.net/project/lispbox/) - An IDE (Emacs + SLIME), Common Lisp implementation (Clozure Common Lisp) and library manager (Quicklisp), pre-packaged as archives for Windows, macOS and Linux. Descendant of 
"Lisp in a Box" mentioned (http://www.gigamonkeys.com/book/lather-rinse-repeat-a-tour-of-the-repl.html) in Practical Common Lisp.
 - Lispworks Personal Edition (http://www.lispworks.com/downloads/) - A non-Emacs based IDE for LispWorks Lisp, with some restrictions.
 - Allegro Common Lisp (https://franz.com/products/allegrocl/) - Has a free Express Edition (https://franz.com/downloads/clp/survey) IDE, and training videos on YouTube 
(https://www.youtube.com/channel/UCN36UrxtyNBJPaG0kmBJNRw).
 - Allegro Common Lisp (https://franz.com/products/allegrocl/) - Has a free Express Edition (https://franz.com/downloads/clp/survey) IDE, and training videos on YouTube (https://www.youtube.com/channel/UCN36UrxtyNBJPaG0kmBJNRw).
- For advanced users
 - Articulate Common Lisp (http://articulate-lisp.com) - A HOWTO for putting together a Lisp environment, and has information on useful libraries (http://articulate-lisp.com/project/abcs.html) and how to 
structure projects (http://articulate-lisp.com/project/new-project.html).
 - Articulate Common Lisp (http://articulate-lisp.com) - A HOWTO for putting together a Lisp environment, and has information on useful libraries (http://articulate-lisp.com/project/abcs.html) and how to structure projects 
(http://articulate-lisp.com/project/new-project.html).
 - If you're an experienced Emacs (https://www.gnu.org/software/emacs/) user, you can just install SLIME (https://common-lisp.net/project/slime/) and a supported Common Lisp implementation 
(https://common-lisp.net/project/slime/doc/html/Platforms.html#Platforms). See the SLIME manual (https://common-lisp.net/project/slime/doc/html/) for more details.
 - The Common Lisp Cookbook has more information about installing an implementation (https://lispcookbook.github.io/cl-cookbook/getting-started.html) using an implementation manager like Roswell 
@@ -59,29 +58,24 @@
 - The draft is free, the standard isn't.
 - It's pretty much the same as the official standard, and some people prefer it to the CLHS.
- The Common Lisp Cookbook (http://lispcookbook.github.io/cl-cookbook/) - A list of useful Lisp recipes. Also contains a list of other online sources of CL information.
- Common Lisp the Language (2nd Edition) by Guy L. Steele (https://www.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html) - A description of the Common Lisp language from just before it was standardized by ANSI. Don't 
use it as a reference.
 - Cliki on CLtL2 (https://cliki.net/Getting+Started) - Claims it has more useful descriptions of LOOP 
(http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/html/cltl/clm/node235.html#SECTION003000000000000000000) and FORMAT 
- Common Lisp the Language (2nd Edition) by Guy L. Steele (https://www.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html) - A description of the Common Lisp language from just before it was standardized by ANSI. Don't use it as a reference.
 - Cliki on CLtL2 (https://cliki.net/Getting+Started) - Claims it has more useful descriptions of LOOP (http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/html/cltl/clm/node235.html#SECTION003000000000000000000) and FORMAT 
(http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/html/cltl/clm/node200.html) than the CLHS does.
 - Stack Overflow on CLtL2 (https://stackoverflow.com/questions/108537/what-are-the-main-differences-between-cltl2-and-ansi-cl) - Some recommend using CLtL2 for insight and inspiration, but to use the CLHS when
programming.
 - Stack Overflow on CLtL2 (https://stackoverflow.com/questions/108537/what-are-the-main-differences-between-cltl2-and-ansi-cl) - Some recommend using CLtL2 for insight and inspiration, but to use the CLHS when programming.
 - A list of differences between CLtL2 and the ANSI Common Lisp specification. (http://linuxfinances.info/info/commonlisp.html#AEN9679)
 - Chapter 28 (https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node260.html#SECTION003200000000000000000) - Covers the Common Lisp Object System.
Online Books
These books that are freely accessible online, arranged roughly in order from basic to advanced:
- Common Lisp: A Gentle Introduction to Symbolic Computation by David S. Touretzky (http://www.cs.cmu.edu/~dst/LispBook/) - a good introduction for people new to programming. Contains code for really useful 
utilities like DTRACE (http://www.cs.cmu.edu/~dst/Lisp/dtrace/) and SDRAW (http://www.cs.cmu.edu/~dst/Lisp/sdraw/).
- Common Lisp: A Gentle Introduction to Symbolic Computation by David S. Touretzky (http://www.cs.cmu.edu/~dst/LispBook/) - a good introduction for people new to programming. Contains code for really useful utilities like DTRACE 
(http://www.cs.cmu.edu/~dst/Lisp/dtrace/) and SDRAW (http://www.cs.cmu.edu/~dst/Lisp/sdraw/).
- Common Lisp: An interactive approach by Stuart C. Shapiro (https://www.cse.buffalo.edu/~shapiro/Commonlisp/) - A textbook that teaches mainly through the use of exercises.
- Practical Common Lisp by Peter Seibel (http://www.gigamonkeys.com/book/) - A great introduction for experienced programmers, and tries to highlight from the very beginning what makes CL different to other 
languages.
- Practical Common Lisp by Peter Seibel (http://www.gigamonkeys.com/book/) - A great introduction for experienced programmers, and tries to highlight from the very beginning what makes CL different to other languages.
- Common Lisp Koans (https://github.com/google/lisp-koans) - Not exactly a book, but a set of koans to help you learn the language.
- On Lisp by Paul Graham (http://www.paulgraham.com/onlisp.html) - A great book for intermediately experienced Lispers.
- Let Over Lambda by Doug Hoyte (https://letoverlambda.com) - An advanced book on Lisp Macros.
 - The first six chapters are available online.
 - Comments on Let Over Lambda (https://www.reddit.com/r/lisp/comments/3actsc/let_over_lambda/) - Several people recommend that you be comfortable with On Lisp before reading this book, and that the start is 
slow.
 - Comments on Let Over Lambda (https://www.reddit.com/r/lisp/comments/3actsc/let_over_lambda/) - Several people recommend that you be comfortable with On Lisp before reading this book, and that the start is slow.
 - The chapter on closures (https://letoverlambda.com/index.cl/guest/chap2.html) - Has several non-trivial examples, and demonstrates the power of this feature.
- Paradigms of Artificial Intelligence Programming by Peter Norvig (https://github.com/norvig/paip-lisp) - Has many interesting applications of Lisp, but is no longer a good reference for AI.
@@ -96,17 +90,15 @@
- ANSI Common Lisp by Paul Graham (http://www.paulgraham.com/acl.html) - Good as a reference, covers CLOS, and has several example program implementations.
 - Plaintext versions of Chapter 1 (http://lib.store.yahoo.net/lib/paulgraham/acl1.txt) and Chapter 2 (http://lib.store.yahoo.net/lib/paulgraham/acl2.txt) are available online.
- Common Lisp Recipes by Edmund Weitz (http://weitz.de/cl-recipes/) - A great set of Common Lisp patterns.
- Object-Oriented Programming in Common Lisp by Sonya E. Keene (https://www.amazon.com/Object-Oriented-Programming-COMMON-LISP-Programmers/dp/0201175894) - An in-depth description of the CLOS, and shows how to 
use it with example applications.
- The Art of the Metaobject Protocol by Gregor Kiczales, Jim des Rivieres, and Daniel G. Bobrow (https://www.amazon.com/Art-Metaobject-Protocol-Gregor-Kiczales/dp/0262610744/) - Describes the CLOS Metaobject 
Protocol (MOP).
- Object-Oriented Programming in Common Lisp by Sonya E. Keene (https://www.amazon.com/Object-Oriented-Programming-COMMON-LISP-Programmers/dp/0201175894) - An in-depth description of the CLOS, and shows how to use it with example 
applications.
- The Art of the Metaobject Protocol by Gregor Kiczales, Jim des Rivieres, and Daniel G. Bobrow (https://www.amazon.com/Art-Metaobject-Protocol-Gregor-Kiczales/dp/0262610744/) - Describes the CLOS Metaobject Protocol (MOP).
 - Chapters 5 and 6 (available online) (http://metamodular.com/CLOS-MOP/) - The specification of a metaobject protocol extension to CLOS, by Robert Strandh.
- Superseded by the **modern public domain CLOS MOP specification** (https://clos-mop.hexstreamsoft.com/) by Jean-Philippe Paradis (**Hexstream** (https://github.com/Hexstream)).
 - Adam Tornhill on AMOP (http://www.adamtornhill.com/reviews/amop.htm) - Recommends reading Practical Common Lisp, then Object-Oriented Programming in Common Lisp, and then AMOP.
Online Community
- The Cliki (http://cliki.net) - The Common Lisp Wiki. A great resource for all things CL. Has a great Getting Started (http://cliki.net/Getting+Started) page and an extensive list of Lisp books 
(http://cliki.net/Lisp%20books).
- The Cliki (http://cliki.net) - The Common Lisp Wiki. A great resource for all things CL. Has a great Getting Started (http://cliki.net/Getting+Started) page and an extensive list of Lisp books (http://cliki.net/Lisp%20books).
- The #clschool, #lisp, #ccl, #sbcl and other rooms (https://www.cliki.net/IRC) on the Libera.Chat (https://libera.chat/) network are great places for learning about Common Lisp. (Freenode should be avoided. 
(https://gist.github.com/joepie91/df80d8d36cd9d1bde46ba018af497409))
- Lisp Subreddit (http://www.reddit.com/r/lisp/) - An active community, and has loads of useful links and reference documents in the sidebar.
@@ -124,8 +116,8 @@
Common Lisp Implementations
This section lists some common CL implementations and their manuals in alphabetical order. Unless otherwise noted, these are free software implementations. See also the Cliki's list of free software Common Lisp 
Implementations (https://www.cliki.net/Common%20Lisp%20implementation).
This section lists some common CL implementations and their manuals in alphabetical order. Unless otherwise noted, these are free software implementations. See also the Cliki's list of free software Common Lisp Implementations 
(https://www.cliki.net/Common%20Lisp%20implementation).
- Allegro Common Lisp (ACL) (https://franz.com/products/allegrocl/) - Commercial, but has a free Express Edition (https://franz.com/downloads/clp/survey).
 - ACL manual (https://franz.com/support/documentation/)
 - Training videos on YouTube (https://www.youtube.com/channel/UCN36UrxtyNBJPaG0kmBJNRw)
@@ -141,10 +133,9 @@
 - LispWorks manual (http://www.lispworks.com/documentation/index.html)
- Steel Bank Common Lisp (SBCL) (http://www.sbcl.org) - My personal favorite.
 - SBCL manual (http://www.sbcl.org/manual/index.html)
- Scieneer Common Lisp (SCL) (http://web.archive.org/web/20171014210404/http://www.scieneer.com/scl/) - A commercial Linux and Unix implementation, but has an unrestricted free evaluation and non-commercial use 
version.
- Scieneer Common Lisp (SCL) (http://web.archive.org/web/20171014210404/http://www.scieneer.com/scl/) - A commercial Linux and Unix implementation, but has an unrestricted free evaluation and non-commercial use version.
 - SCL manual (http://web.archive.org/web/20171014210404/http://www.scieneer.com/scl/doc/)
Credit
I got a lot of the information from Rainer Joswig's Stack Overflow answer on learning Common Lisp (https://stackoverflow.com/a/7224914/1005039), and from the now-defunct Stack Overflow Documents site. The 
Cliki's Getting Started (https://cliki.net/Getting%20Started) page was also invaluable.
I got a lot of the information from Rainer Joswig's Stack Overflow answer on learning Common Lisp (https://stackoverflow.com/a/7224914/1005039), and from the now-defunct Stack Overflow Documents site. The Cliki's Getting Started 
(https://cliki.net/Getting%20Started) page was also invaluable.