<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Track Awesome Common Lisp Learning Updates Daily</title>
  <id>https://www.trackawesomelist.com/GustavBertram/awesome-common-lisp-learning/feed.xml</id>
  <updated>2023-10-17T14:45:38.667Z</updated>
  <link rel="self" type="application/atom+xml" href="https://www.trackawesomelist.com/GustavBertram/awesome-common-lisp-learning/feed.xml"/>
  <link rel="alternate" type="application/json" href="https://www.trackawesomelist.com/GustavBertram/awesome-common-lisp-learning/feed.json"/>
  <link rel="alternate" type="text/html" href="https://www.trackawesomelist.com/GustavBertram/awesome-common-lisp-learning/"/>
  <generator uri="https://github.com/bcomnes/jsonfeed-to-atom#readme" version="1.2.2">jsonfeed-to-atom</generator>
  <icon>https://www.trackawesomelist.com/favicon.ico</icon>
  <logo>https://www.trackawesomelist.com/icon.png</logo>
  <subtitle>A curated list of awesome Common Lisp learning resources</subtitle>
  <entry>
    <id>https://www.trackawesomelist.com/2023/10/17/</id>
    <title>Awesome Common Lisp Learning Updates on Oct 17, 2023</title>
    <updated>2023-10-17T14:45:38.667Z</updated>
    <published>2023-10-17T14:45:38.667Z</published>
    <content type="html"><![CDATA[<h3><p>Online Community</p>
</h3>
<ul>
<li><a href="https://exercism.org/tracks/common-lisp" rel="noopener noreferrer">Exercism's Common Lisp track</a> - An excellent way to learn the language through practice, have your code reviewed, and to discuss solutions with other people.</li>
</ul>
]]></content>
    <link rel="alternate" href="https://www.trackawesomelist.com/2023/10/17/"/>
    <summary>1 awesome projects updated on Oct 17, 2023</summary>
  </entry>
  <entry>
    <id>https://www.trackawesomelist.com/2023/09/06/</id>
    <title>Awesome Common Lisp Learning Updates on Sep 06, 2023</title>
    <updated>2023-09-06T01:22:00.119Z</updated>
    <published>2023-09-06T01:22:00.119Z</published>
    <content type="html"><![CDATA[<h3><p>How To Use</p>
</h3>
<ul>
<li>Try out <a href="https://exercism.org/tracks/common-lisp" rel="noopener noreferrer">Exercism</a>.</li>
</ul>
]]></content>
    <link rel="alternate" href="https://www.trackawesomelist.com/2023/09/06/"/>
    <summary>1 awesome projects updated on Sep 06, 2023</summary>
  </entry>
  <entry>
    <id>https://www.trackawesomelist.com/2021/05/19/</id>
    <title>Awesome Common Lisp Learning Updates on May 19, 2021</title>
    <updated>2021-05-19T20:46:08.000Z</updated>
    <published>2021-05-19T20:46:08.000Z</published>
    <content type="html"><![CDATA[<h3><p>Online Community</p>
</h3>
<ul>
<li>The #clschool, #lisp, #ccl, #sbcl and <a href="https://www.cliki.net/IRC" rel="noopener noreferrer">other rooms</a> on the <a href="https://libera.chat/" rel="noopener noreferrer">Libera.Chat</a> network are great places for learning about Common Lisp. (<a href="https://gist.github.com/joepie91/df80d8d36cd9d1bde46ba018af497409" rel="noopener noreferrer">Freenode should be avoided.</a>)</li>
</ul>
]]></content>
    <link rel="alternate" href="https://www.trackawesomelist.com/2021/05/19/"/>
    <summary>1 awesome projects updated on May 19, 2021</summary>
  </entry>
  <entry>
    <id>https://www.trackawesomelist.com/2020/11/27/</id>
    <title>Awesome Common Lisp Learning Updates on Nov 27, 2020</title>
    <updated>2020-11-27T08:08:24.000Z</updated>
    <published>2020-11-27T08:08:24.000Z</published>
    <content type="html"><![CDATA[<h3><p>Online Community</p>
</h3>
<ul>
<li><a href="https://discord.gg/7tSq5EaA6Z" rel="noopener noreferrer">Lisp Discord server</a> - Is a Discord for Lisp. Has a channel dedicated to Common Lisp and will happily answer questions.</li>
</ul>
]]></content>
    <link rel="alternate" href="https://www.trackawesomelist.com/2020/11/27/"/>
    <summary>1 awesome projects updated on Nov 27, 2020</summary>
  </entry>
  <entry>
    <id>https://www.trackawesomelist.com/2020/01/06/</id>
    <title>Awesome Common Lisp Learning Updates on Jan 06, 2020</title>
    <updated>2020-01-06T20:18:17.000Z</updated>
    <published>2020-01-06T20:18:17.000Z</published>
    <content type="html"><![CDATA[<h3><p>How To Use</p>
</h3>
<ul>
<li>If you get stuck, find an online community and <a href="http://www.catb.org/esr/faqs/smart-questions.html" rel="noopener noreferrer">ask smart questions</a>.</li>
</ul>
<h3><p>Lisp Environments</p>
</h3>
<ul>
<li>Prepackaged environments<ul>
<li><a href="https://shinmera.github.io/portacle/" rel="noopener noreferrer">Portacle</a> - 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.</li>
<li><a href="https://common-lisp.net/project/lispbox/" rel="noopener noreferrer">Lispbox</a> - 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" <a href="http://www.gigamonkeys.com/book/lather-rinse-repeat-a-tour-of-the-repl.html" rel="noopener noreferrer">mentioned</a> in Practical Common Lisp.</li>
<li><a href="http://www.lispworks.com/downloads/" rel="noopener noreferrer">Lispworks Personal Edition</a> - A non-Emacs based IDE for LispWorks Lisp, with some restrictions.</li>
<li><a href="https://franz.com/products/allegrocl/" rel="noopener noreferrer">Allegro Common Lisp</a> - Has a free <a href="https://franz.com/downloads/clp/survey" rel="noopener noreferrer">Express Edition</a> IDE, and <a href="https://www.youtube.com/channel/UCN36UrxtyNBJPaG0kmBJNRw" rel="noopener noreferrer">training videos on YouTube</a>.</li>
</ul>
</li>
</ul>

<ul>
<li>For advanced users<ul>
<li><a href="http://articulate-lisp.com" rel="noopener noreferrer">Articulate Common Lisp</a> - A HOWTO for putting together a Lisp environment, and has information on <a href="http://articulate-lisp.com/project/abcs.html" rel="noopener noreferrer">useful libraries</a> and how to <a href="http://articulate-lisp.com/project/new-project.html" rel="noopener noreferrer">structure projects</a>.</li>
<li>If you're an experienced <a href="https://www.gnu.org/software/emacs/" rel="noopener noreferrer">Emacs</a> user, you can just install <a href="https://common-lisp.net/project/slime/" rel="noopener noreferrer">SLIME</a> and a <a href="https://common-lisp.net/project/slime/doc/html/Platforms.html#Platforms" rel="noopener noreferrer">supported Common Lisp implementation</a>. See the <a href="https://common-lisp.net/project/slime/doc/html/" rel="noopener noreferrer">SLIME manual</a> for more details.</li>
<li>The Common Lisp Cookbook has more information about <a href="https://lispcookbook.github.io/cl-cookbook/getting-started.html" rel="noopener noreferrer">installing an implementation</a> using an implementation manager like <a href="https://github.com/roswell/roswell/wiki" rel="noopener noreferrer">Roswell (⭐1.7k)</a>, or on Docker.</li>
</ul>
</li>
</ul>
<h3><p>Online References</p>
</h3>
<ul>
<li><a href="http://www.lispworks.com/documentation/common-lisp.html" rel="noopener noreferrer">The Common Lisp Hyperspec (CLHS)</a> - <em>The</em> language reference document for Common Lisp. Bookmark it now.<ul>
<li><a href="http://www.lispworks.com/documentation/HyperSpec/Body/07_.htm" rel="noopener noreferrer">Chapter 7</a> - Covers the Common Lisp Object System (CLOS).</li>
</ul>
</li>
</ul>

<ul>
<li><a href="http://cberr.us/tech_writings/notes/common_lisp_standard_draft.html" rel="noopener noreferrer">The ANSI Common Lisp Standard Draft</a> - The last draft version of the ANSI INCITS 226-1994 (previously ANSI X3.226-1994) standard.<ul>
<li>The draft is free, the standard isn't.</li>
<li>It's pretty much the same as the official standard, and some people prefer it to the CLHS.</li>
</ul>
</li>
</ul>

<ul>
<li><a href="http://lispcookbook.github.io/cl-cookbook/" rel="noopener noreferrer">The Common Lisp Cookbook</a> - A list of useful Lisp recipes. Also contains a list of other online sources of CL information.</li>
</ul>

<ul>
<li><a href="https://www.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html" rel="noopener noreferrer">Common Lisp the Language (2nd Edition) by Guy L. Steele</a> - A description of the Common Lisp language from just before it was standardized by ANSI. Don't use it as a reference.<ul>
<li><a href="https://cliki.net/Getting+Started" rel="noopener noreferrer">Cliki on CLtL2</a> - Claims it has more useful descriptions of <a href="http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/html/cltl/clm/node235.html#SECTION003000000000000000000" rel="noopener noreferrer">LOOP</a> and <a href="http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/html/cltl/clm/node200.html" rel="noopener noreferrer">FORMAT</a> than the CLHS does.</li>
<li><a href="https://stackoverflow.com/questions/108537/what-are-the-main-differences-between-cltl2-and-ansi-cl" rel="noopener noreferrer">Stack Overflow on CLtL2</a> - Some recommend using CLtL2 for insight and inspiration, but to use the CLHS when programming.</li>
<li><a href="http://linuxfinances.info/info/commonlisp.html#AEN9679" rel="noopener noreferrer">A list of differences between CLtL2 and the ANSI Common Lisp specification.</a></li>
<li><a href="https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node260.html#SECTION003200000000000000000" rel="noopener noreferrer">Chapter 28</a> - Covers the Common Lisp Object System.</li>
</ul>
</li>
</ul>
<h3><p>Online Books</p>
</h3>
<ul>
<li><a href="http://www.cs.cmu.edu/~dst/LispBook/" rel="noopener noreferrer">Common Lisp: A Gentle Introduction to Symbolic Computation by David S. Touretzky</a> - a good introduction for people new to programming. Contains code for really useful utilities like <a href="http://www.cs.cmu.edu/~dst/Lisp/dtrace/" rel="noopener noreferrer">DTRACE</a> and <a href="http://www.cs.cmu.edu/~dst/Lisp/sdraw/" rel="noopener noreferrer">SDRAW</a>.</li>
</ul>

<ul>
<li><a href="https://www.cse.buffalo.edu/~shapiro/Commonlisp/" rel="noopener noreferrer">Common Lisp: An interactive approach by Stuart C. Shapiro</a> - A textbook that teaches mainly through the use of exercises.</li>
</ul>

<ul>
<li><a href="http://www.gigamonkeys.com/book/" rel="noopener noreferrer">Practical Common Lisp by Peter Seibel</a> - A great introduction for experienced programmers, and tries to highlight from the very beginning what makes CL different to other languages.</li>
</ul>

<ul>
<li><a href="https://github.com/google/lisp-koans" rel="noopener noreferrer">Common Lisp Koans (⭐3k)</a> - Not exactly a book, but a set of koans to help you learn the language.</li>
</ul>

<ul>
<li><a href="http://www.paulgraham.com/onlisp.html" rel="noopener noreferrer">On Lisp by Paul Graham</a> - A great book for intermediately experienced Lispers.</li>
</ul>

<ul>
<li><a href="https://letoverlambda.com" rel="noopener noreferrer">Let Over Lambda by Doug Hoyte</a> - An advanced book on Lisp Macros.<ul>
<li>The first six chapters are available online.</li>
<li><a href="https://www.reddit.com/r/lisp/comments/3actsc/let_over_lambda/" rel="noopener noreferrer">Comments on Let Over Lambda</a> - Several people recommend that you be comfortable with On Lisp before reading this book, and that the start is slow.</li>
<li><a href="https://letoverlambda.com/index.cl/guest/chap2.html" rel="noopener noreferrer">The chapter on closures</a> - Has several non-trivial examples, and demonstrates the power of this feature.</li>
</ul>
</li>
</ul>

<ul>
<li><a href="https://github.com/norvig/paip-lisp" rel="noopener noreferrer">Paradigms of Artificial Intelligence Programming by Peter Norvig (⭐6.9k)</a> - Has many interesting applications of Lisp, but is no longer a good reference for AI.</li>
</ul>
<h3><p>Offline Books</p>
</h3>
<ul>
<li><a href="http://landoflisp.com" rel="noopener noreferrer">Land of Lisp by Conrad Barski, MD</a> - A fun introduction to Lisp that uses comics and has you writing games.<ul>
<li>Available as an <a href="https://www.nostarch.com/lisp.htm" rel="noopener noreferrer">ebook</a>.</li>
<li>A couple of the LOOP macros are written <code>for x for y...</code> which you can change to <code>for x from 0 for y...</code> to make them work in SBCL.</li>
<li>Has an <a href="http://landoflisp.com/errata.html" rel="noopener noreferrer">errata page</a>.</li>
<li>Most of the book is entertaining and fairly easy, but gets hairy from about Chapter 18. It doesn't feel like later chapters introduce much, so I recommend switching to a different book at that point.</li>
<li>The Web server example in Ch 13, 19 and 20 will only work on CLISP, and needs the addition of HTTP response headers to render the HTML properly.</li>
</ul>
</li>
</ul>

<ul>
<li><a href="http://www.paulgraham.com/acl.html" rel="noopener noreferrer">ANSI Common Lisp by Paul Graham</a> - Good as a reference, covers CLOS, and has several example program implementations.<ul>
<li>Plaintext versions of <a href="http://lib.store.yahoo.net/lib/paulgraham/acl1.txt" rel="noopener noreferrer">Chapter 1</a> and <a href="http://lib.store.yahoo.net/lib/paulgraham/acl2.txt" rel="noopener noreferrer">Chapter 2</a> are available online.</li>
</ul>
</li>
</ul>

<ul>
<li><a href="http://weitz.de/cl-recipes/" rel="noopener noreferrer">Common Lisp Recipes by Edmund Weitz</a> - A great set of Common Lisp patterns.</li>
</ul>

<ul>
<li><a href="https://www.amazon.com/Object-Oriented-Programming-COMMON-LISP-Programmers/dp/0201175894" rel="noopener noreferrer">Object-Oriented Programming in Common Lisp by Sonya E. Keene</a> - An in-depth description of the CLOS, and shows how to use it with example applications.</li>
</ul>

<ul>
<li><a href="https://www.amazon.com/Art-Metaobject-Protocol-Gregor-Kiczales/dp/0262610744/" rel="noopener noreferrer">The Art of the Metaobject Protocol by Gregor Kiczales, Jim des Rivieres, and Daniel G. Bobrow</a> - Describes the CLOS Metaobject Protocol (MOP).<ul>
<li><a href="http://metamodular.com/CLOS-MOP/" rel="noopener noreferrer">Chapters 5 and 6 (available online)</a> - The specification of a metaobject protocol extension to CLOS, by Robert Strandh.<ul>
<li>Superseded by the <a href="https://clos-mop.hexstreamsoft.com/" rel="noopener noreferrer">modern public domain CLOS MOP specification</a> by Jean-Philippe Paradis (<a href="https://github.com/Hexstream" rel="noopener noreferrer">Hexstream</a>).</li>
</ul>
</li>
<li><a href="http://www.adamtornhill.com/reviews/amop.htm" rel="noopener noreferrer">Adam Tornhill on AMOP</a> - Recommends reading Practical Common Lisp, then  Object-Oriented Programming in Common Lisp, and then AMOP.</li>
</ul>
</li>
</ul>
<h3><p>Online Community</p>
</h3>
<ul>
<li>The <a href="http://cliki.net" rel="noopener noreferrer">Cliki</a> - The Common Lisp Wiki. A great resource for all things CL. Has a great <a href="http://cliki.net/Getting+Started" rel="noopener noreferrer">Getting Started</a> page and an extensive list of <a href="http://cliki.net/Lisp%20books" rel="noopener noreferrer">Lisp books</a>.</li>
</ul>

<ul>
<li><a href="http://www.reddit.com/r/lisp/" rel="noopener noreferrer">Lisp Subreddit</a> - An active community, and has loads of useful links and reference documents in the sidebar.<ul>
<li><a href="https://www.reddit.com/r/Common_Lisp" rel="noopener noreferrer">Common Lisp Subreddit</a> - The Subreddit for Common Lisp.</li>
</ul>
</li>
</ul>
<h3><p>Library Management</p>
</h3>
<ul>
<li><a href="https://www.quicklisp.org/beta" rel="noopener noreferrer">Quicklisp</a> - A package management platform for Lisp libraries.</li>
</ul>

<ul>
<li><a href="http://quickdocs.org" rel="noopener noreferrer">Quickdocs</a> - Documentation for projects in Quicklisp.</li>
</ul>

<ul>
<li><a href="http://borretti.me/article/common-lisp-sotu-2015" rel="noopener noreferrer">State of the Common Lisp Ecosystem, 2015</a> - Article about what libraries you should use, and why.</li>
</ul>

<ul>
<li><a href="http://articulate-lisp.com/project/abcs.html" rel="noopener noreferrer">Articulate Common Lisp</a> - Lists some useful libraries.</li>
</ul>
<h3><p>Common Lisp Implementations</p>
</h3>
<ul>
<li><a href="https://franz.com/products/allegrocl/" rel="noopener noreferrer">Allegro Common Lisp (ACL)</a> - Commercial, but has a free <a href="https://franz.com/downloads/clp/survey" rel="noopener noreferrer">Express Edition</a>.<ul>
<li><a href="https://franz.com/support/documentation/" rel="noopener noreferrer">ACL manual</a></li>
<li><a href="https://www.youtube.com/channel/UCN36UrxtyNBJPaG0kmBJNRw" rel="noopener noreferrer">Training videos on YouTube</a></li>
</ul>
</li>
</ul>

<ul>
<li><a href="https://clisp.sourceforge.io" rel="noopener noreferrer">CLISP</a><ul>
<li><a href="https://clisp.sourceforge.io/impnotes.html" rel="noopener noreferrer">CLISP Manual</a></li>
</ul>
</li>
</ul>

<ul>
<li><a href="https://ccl.clozure.com" rel="noopener noreferrer">Clozure Common Lisp (CCL)</a><ul>
<li><a href="https://ccl.clozure.com/manual/" rel="noopener noreferrer">CCL manual</a></li>
</ul>
</li>
</ul>

<ul>
<li><a href="https://www.cons.org/cmucl/" rel="noopener noreferrer">Carnegie Mellon University Common Lisp (CMUCL)</a><ul>
<li><a href="https://www.cons.org/cmucl/doc/index.html" rel="noopener noreferrer">CMUCL manual and other useful information</a></li>
</ul>
</li>
</ul>

<ul>
<li><a href="https://common-lisp.net/project/ecl/" rel="noopener noreferrer">Embeddable Common Lisp (ECL)</a><ul>
<li><a href="https://common-lisp.net/project/ecl/static/manual/" rel="noopener noreferrer">ECL manual</a></li>
</ul>
</li>
</ul>

<ul>
<li><a href="http://www.lispworks.com/products/index.html" rel="noopener noreferrer">LispWorks</a> - Commercial, but as mentioned previously, has a <a href="http://www.lispworks.com/downloads/index.html" rel="noopener noreferrer">Personal Edition</a> with minor limitations.<ul>
<li><a href="http://www.lispworks.com/documentation/index.html" rel="noopener noreferrer">LispWorks manual</a></li>
</ul>
</li>
</ul>

<ul>
<li><a href="http://www.sbcl.org" rel="noopener noreferrer">Steel Bank Common Lisp (SBCL)</a> - My personal favorite.<ul>
<li><a href="http://www.sbcl.org/manual/index.html" rel="noopener noreferrer">SBCL manual</a></li>
</ul>
</li>
</ul>

<ul>
<li><a href="http://web.archive.org/web/20171014210404/http://www.scieneer.com/scl/" rel="noopener noreferrer">Scieneer Common Lisp (SCL)</a> - A commercial Linux and Unix implementation, but has an unrestricted free evaluation and non-commercial use version.<ul>
<li><a href="http://web.archive.org/web/20171014210404/http://www.scieneer.com/scl/doc/" rel="noopener noreferrer">SCL manual</a></li>
</ul>
</li>
</ul>
]]></content>
    <link rel="alternate" href="https://www.trackawesomelist.com/2020/01/06/"/>
    <summary>33 awesome projects updated on Jan 06, 2020</summary>
  </entry>
  <entry>
    <id>https://www.trackawesomelist.com/2018/04/10/</id>
    <title>Awesome Common Lisp Learning Updates on Apr 10, 2018</title>
    <updated>2018-04-10T22:20:05.000Z</updated>
    <published>2018-04-10T22:15:48.000Z</published>
    <content type="html"><![CDATA[<h3><p>How To Use</p>
</h3>
<ul>
<li>Get a Lisp environment.</li>
</ul>

<ul>
<li>Bookmark the <a href="http://www.lispworks.com/documentation/common-lisp.html" rel="noopener noreferrer">The Common Lisp Hyperspec</a>.</li>
</ul>

<ul>
<li>Download and work through a Lisp book of an appropriate level. Type the examples and play with the code. Feel free to switch books and try a different one.</li>
</ul>

<ul>
<li>Learn about <a href="https://www.quicklisp.org/beta/" rel="noopener noreferrer">Quicklisp</a>.</li>
</ul>

<ul>
<li>At some point, read your Lisp implementation's manual.</li>
</ul>
]]></content>
    <link rel="alternate" href="https://www.trackawesomelist.com/2018/04/10/"/>
    <summary>5 awesome projects updated on Apr 10, 2018</summary>
  </entry>
</feed>