279 lines
13 KiB
HTML
279 lines
13 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta name="generator" content=
|
||
"HTML Tidy for HTML5 for Linux version 5.2.0">
|
||
<title>Home</title>
|
||
<meta charset="utf-8">
|
||
<meta name="description" content="A collection of examples of using Common Lisp">
|
||
<meta name="viewport" content=
|
||
"width=device-width, initial-scale=1">
|
||
<link rel="icon" href=
|
||
"assets/cl-logo-blue.png"/>
|
||
<link rel="stylesheet" href=
|
||
"assets/style.css">
|
||
<script type="text/javascript" src=
|
||
"assets/highlight-lisp.js">
|
||
</script>
|
||
<script type="text/javascript" src=
|
||
"assets/jquery-3.2.1.min.js">
|
||
</script>
|
||
<script type="text/javascript" src=
|
||
"assets/jquery.toc/jquery.toc.min.js">
|
||
</script>
|
||
<script type="text/javascript" src=
|
||
"assets/toggle-toc.js">
|
||
</script>
|
||
|
||
<link rel="stylesheet" href=
|
||
"assets/github.css">
|
||
|
||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
|
||
</head>
|
||
<body>
|
||
<h1 id="title-xs"><a href="index.html">The Common Lisp Cookbook</a> – Home</h1>
|
||
<div id="logo-container">
|
||
<a href="index.html">
|
||
<img id="logo" src="assets/cl-logo-blue.png"/>
|
||
</a>
|
||
|
||
<div id="searchform-container">
|
||
<form onsubmit="duckSearch()" action="javascript:void(0)">
|
||
<input id="searchField" type="text" value="" placeholder="Search...">
|
||
</form>
|
||
</div>
|
||
|
||
<div id="toc-container" class="toc-close">
|
||
<div id="toc-title">Table of Contents</div>
|
||
<ul id="toc" class="list-unstyled"></ul>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="content-container">
|
||
<h1 id="title-non-xs"><a href="index.html">The Common Lisp Cookbook</a> – Home</h1>
|
||
|
||
<!-- Announcement we can keep for 1 month or more. I remove it and re-add it from time to time. -->
|
||
<p class="announce">
|
||
📹 <a href="https://www.udemy.com/course/common-lisp-programming/?couponCode=6926D599AA-LISP4ALL">NEW! Learn Lisp in videos and support our contributors with this 40% discount.</a>
|
||
</p>
|
||
<p class="announce-neutral">
|
||
📕 <a href="index.html#download-in-epub">Get the EPUB and PDF</a>
|
||
</p>
|
||
|
||
|
||
<div id="content"
|
||
<blockquote>
|
||
<p>Cookbook, n.
|
||
a book containing recipes and other information about the preparation and cooking of food.</p>
|
||
</blockquote>
|
||
|
||
<p>A Cookbook is an invaluable resource, as it shows how to do various things in a clear fashion without all the theoretical context. Sometimes you just need to look things up. While cookbooks can never replace proper documentation such as the HyperSpec or books such as Practical Common Lisp, every language deserves a good cookbook, Common Lisp included.</p>
|
||
|
||
<p>The CL Cookbook aims to tackle all sort of topics, for the beginner as for the more advanced developer.</p>
|
||
|
||
<h1 id="content">Content</h1>
|
||
|
||
<p id="two-cols"></p>
|
||
|
||
<ul>
|
||
<li><a href="license.html">License</a></li>
|
||
<li><a href="getting-started.html">Getting started</a></li>
|
||
<li><a href="editor-support.html">Editor support</a>
|
||
<ul>
|
||
<li><a href="emacs-ide.html">Using Emacs as an IDE</a></li>
|
||
<li><a href="lispworks.html">The LispWorks IDE</a></li>
|
||
<li><a href="vscode-alive.html">Using VSCode with Alive</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a href="functions.html">Functions</a></li>
|
||
<li><a href="data-structures.html">Data Structures</a></li>
|
||
<li><a href="strings.html">Strings</a>
|
||
<ul>
|
||
<li><a href="regexp.html">Regular Expressions</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a href="numbers.html">Numbers</a></li>
|
||
<li><a href="iteration.html">Loops, iteration, mapping</a></li>
|
||
<li><a href="arrays.html">Multidimensional Arrays</a></li>
|
||
<li><a href="dates_and_times.html">Dates and Times</a></li>
|
||
<li><a href="pattern_matching.html">Pattern Matching</a></li>
|
||
<li><a href="io.html">Input/Output</a></li>
|
||
<li><a href="files.html">Files and Directories</a></li>
|
||
<li><a href="error_handling.html">Error and condition handling</a></li>
|
||
<li><a href="packages.html">Packages</a></li>
|
||
<li><a href="macros.html">Macros and Backquote</a></li>
|
||
<li><a href="clos.html">CLOS (the Common Lisp Object System)</a></li>
|
||
<li><a href="type.html">Type System</a></li>
|
||
<li><a href="sockets.html">Sockets</a></li>
|
||
<li><a href="os.html">Interfacing with your OS</a></li>
|
||
<li><a href="ffi.html">Foreign Function Interfaces</a></li>
|
||
<li><a href="process.html">Threads</a></li>
|
||
<li><a href="systems.html">Defining Systems</a></li>
|
||
<li><a href="win32.html">Using the Win32 API</a></li>
|
||
<li><a href="debugging.html">Debugging</a></li>
|
||
<li><a href="performance.html">Performance Tuning</a></li>
|
||
<li><a href="scripting.html">Scripting. Building executables</a></li>
|
||
<li><a href="testing.html">Testing and Continuous Integration</a></li>
|
||
<li><a href="databases.html">Databases</a></li>
|
||
<li><a href="gui.html">GUI programming</a></li>
|
||
<li><a href="web.html">Web development</a></li>
|
||
<li><a href="web-scraping.html">Web Scraping</a></li>
|
||
<li><a href="websockets.html">WebSockets</a></li>
|
||
<li><a href="misc.html">Miscellaneous</a></li>
|
||
</ul>
|
||
|
||
<h2 id="download-in-epub">Download in EPUB</h2>
|
||
|
||
<p>The Cookbook is also available in EPUB (and PDF) format.</p>
|
||
|
||
<p>You can <a href="https://github.com/LispCookbook/cl-cookbook/releases/download/2022-03-23/common-lisp-cookbook.epub">download it directly in EPUB</a> and <a href="https://github.com/LispCookbook/cl-cookbook/releases/download/2022-03-23/common-lisp-cookbook.pdf">PDF</a>, and you can <strong>pay what you want</strong> to further support its development:</p>
|
||
|
||
<p><br /></p>
|
||
|
||
<p><a style="font-size: 16px; background-color: #4CAF50; color: white; padding: 16px; cursor: pointer;" href="https://ko-fi.com/s/01fee22a32">
|
||
Donate and download the EPUB version
|
||
</a></p>
|
||
|
||
<p><br /></p>
|
||
|
||
<p>Thank you!</p>
|
||
|
||
<h2 id="translations">Translations</h2>
|
||
|
||
<p>The Cookbook has been translated to:</p>
|
||
|
||
<ul>
|
||
<li><a href="https://oneforalone.github.io/cl-cookbook-cn/#/">Chinese simplified</a> (<a href="https://github.com/oneforalone/cl-cookbook-cn">Github</a>)</li>
|
||
<li><a href="https://book.lisp.com.br/">Portuguese (Brazilian)</a> (<a href="https://github.com/commonlispbr/cl-cookbook">Github</a>)</li>
|
||
</ul>
|
||
|
||
<h1 id="other-cl-resources">Other CL Resources</h1>
|
||
|
||
<p id="two-cols"></p>
|
||
|
||
<ul>
|
||
<li><a href="http://lisp-lang.org/">lisp-lang.org</a>: success stories, tutorials and style guide</li>
|
||
<li><a href="https://github.com/CodyReichert/awesome-cl">Awesome-cl</a>, a curated list of libraries</li>
|
||
<li><a href="https://github.com/CodyReichert/awesome-cl#community">List of Lisp Communities</a></li>
|
||
<li><a href="https://github.com/google/lisp-koans/">Lisp Koans</a> - a language learning exercise, which guides the learner progressively through many language features.</li>
|
||
<li><a href="https://learnxinyminutes.com/docs/common-lisp/">Learn X in Y minutes - Where X = Common Lisp</a> - Small Common Lisp tutorial covering the essentials.</li>
|
||
<li><a href="https://common-lisp-libraries.readthedocs.io/">Common Lisp Libraries Read the Docs</a> - the documentation of popular libraries ported to the modern and good looking Read The Docs style.</li>
|
||
<li><a href="https://github.com/lisp-tips/lisp-tips/issues/">lisp-tips</a></li>
|
||
<li><a href="http://articulate-lisp.com/">Articulate Common Lisp</a>, an initiation manual for the uninitiated</li>
|
||
<li><a href="https://raw.githubusercontent.com/ebzzry/cl-pitfalls/master/cl-pitfalls.txt">Common Lisp Pitfalls</a> by Jeff Dalton</li>
|
||
<li><a href="http://web.archive.org/web/20190316190256/https://www.nicklevine.org/declarative/lectures/">Lisp and Elements of Style</a> by Nick Levine</li>
|
||
<li>Pascal Costanza’s <a href="http://www.p-cos.net/lisp/guide.html">Highly Opinionated Guide to Lisp</a></li>
|
||
<li><a href="http://www.cliki.net/">Cliki</a>, Common Lisp’s wiki</li>
|
||
<li>📹 <a href="https://www.udemy.com/course/common-lisp-programming/?referralCode=2F3D698BBC4326F94358">Common Lisp programming: from novice to effective developer</a>, a video course on the Udemy platform (paywall), by one of the main Cookbook contributor. <em>“Thanks for supporting my work on Udemy. You can ask me for a free coupon if the course is not affordable for you.”</em> vindarel</li>
|
||
</ul>
|
||
|
||
<p>Books</p>
|
||
|
||
<ul>
|
||
<li><a href="http://www.gigamonkeys.com/book/">Practical Common Lisp</a> by Peter Seibel</li>
|
||
<li><a href="http://weitz.de/cl-recipes/">Common Lisp Recipes</a> by Edmund Weitz, published in 2016,</li>
|
||
<li><a href="http://www-2.cs.cmu.edu/~dst/LispBook/">Common Lisp: A Gentle Introduction to Symbolic Computation</a> by David S. Touretzky</li>
|
||
<li><a href="https://successful-lisp.blogspot.com/p/httpsdrive.html">Successful Lisp: How to Understand and Use Common Lisp</a> by David B. Lamkins</li>
|
||
<li><a href="http://www.paulgraham.com/onlisptext.html">On Lisp</a> by Paul Graham</li>
|
||
<li><a href="http://www-2.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html">Common Lisp the Language, 2nd Edition</a> by Guy L. Steele</li>
|
||
<li><a href="https://www.cs.umd.edu/%7Enau/cmsc421/norvig-lisp-style.pdf">A Tutorial on Good Lisp Style</a> by Peter Norvig and Kent Pitman</li>
|
||
</ul>
|
||
|
||
<p>Advanced books</p>
|
||
|
||
<ul>
|
||
<li><a href="https://leanpub.com/lovinglisp/">Loving Lisp - the Savy Programmer’s Secret Weapon</a> by Mark Watson</li>
|
||
<li><a href="https://leanpub.com/progalgs">Programming Algorithms</a> - A comprehensive guide to writing efficient programs with examples in Lisp.</li>
|
||
</ul>
|
||
|
||
<p>Specifications</p>
|
||
|
||
<ul>
|
||
<li><a href="http://www.lispworks.com/documentation/HyperSpec/Front/index.htm">The Common Lisp HyperSpec</a> by Kent M. Pitman (also available in <a href="https://kapeli.com/dash">Dash</a>, <a href="https://zealdocs.org/">Zeal</a> and <a href="https://velocity.silverlakesoftware.com/">Velocity</a>)</li>
|
||
<li><a href="http://phoe.tymoon.eu/clus/doku.php">The Common Lisp UltraSpec</a></li>
|
||
</ul>
|
||
|
||
<h1 id="further-remarks">Further remarks</h1>
|
||
|
||
<p>This is a collaborative project that aims to provide for Common Lisp something
|
||
similar to the <a href="http://www.oreilly.com/catalog/cookbook/">Perl Cookbook</a> published by O’Reilly. More details about
|
||
what it is and what it isn’t can be found in this <a href="http://groups.google.com/groups?threadm=m3it9soz3m.fsf%40bird.agharta.de">thread</a> from
|
||
<a href="news:comp.lang.lisp">comp.lang.lisp</a>.</p>
|
||
|
||
<p>If you want to contribute to the CL Cookbook, please send a pull request in or
|
||
file a ticket!</p>
|
||
|
||
<p>Yes, we’re talking to you! We need contributors - write a chapter that’s missing
|
||
and add it, find an open question and provide an answer, find bugs and report
|
||
them, (If you have no idea what might be missing but would like to help, take a
|
||
look at the <a href="http://www.oreilly.com/catalog/cookbook/">table of contents</a> of the Perl Cookbook.) Don’t worry about
|
||
the formatting, just send plain text if you like - we’ll take care about that
|
||
later.</p>
|
||
|
||
<p>Thanks in advance for your help!</p>
|
||
|
||
<p>The pages here on Github are kept up to date. You can also download a
|
||
<a href="https://github.com/LispCookbook/cl-cookbook/archive/master.zip">up to date zip file</a> for offline browsing. More info can be found at the
|
||
<a href="https://github.com/LispCookbook/cl-cookbook">Github project page</a>.</p>
|
||
|
||
<div style="text-align: center">
|
||
<img src="orly-cover.png" />
|
||
</div>
|
||
|
||
|
||
|
||
<p class="page-source">
|
||
Page source: <a href="https://github.com/LispCookbook/cl-cookbook/blob/master/index.md">index.md</a>
|
||
</p>
|
||
</div>
|
||
|
||
<script type="text/javascript">
|
||
|
||
// Don't write the TOC on the index.
|
||
if (window.location.pathname != "/cl-cookbook/") {
|
||
$("#toc").toc({
|
||
content: "#content", // will ignore the first h1 with the site+page title.
|
||
headings: "h1,h2,h3,h4"});
|
||
}
|
||
|
||
$("#two-cols + ul").css({
|
||
"column-count": "2",
|
||
});
|
||
$("#contributors + ul").css({
|
||
"column-count": "4",
|
||
});
|
||
</script>
|
||
|
||
|
||
|
||
<div>
|
||
<footer class="footer">
|
||
<hr/>
|
||
© 2002–2021 the Common Lisp Cookbook Project
|
||
</footer>
|
||
|
||
</div>
|
||
<div id="toc-btn">T<br>O<br>C</div>
|
||
</div>
|
||
|
||
<script text="javascript">
|
||
HighlightLisp.highlight_auto({className: null});
|
||
</script>
|
||
|
||
<script type="text/javascript">
|
||
function duckSearch() {
|
||
var searchField = document.getElementById("searchField");
|
||
if (searchField && searchField.value) {
|
||
var query = escape("site:lispcookbook.github.io/cl-cookbook/ " + searchField.value);
|
||
window.location.href = "https://duckduckgo.com/?kj=b2&kf=-1&ko=1&q=" + query;
|
||
// https://duckduckgo.com/params
|
||
// kj=b2: blue header in results page
|
||
// kf=-1: no favicons
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<script async defer data-domain="lispcookbook.github.io/cl-cookbook" src="https://plausible.io/js/plausible.js"></script>
|
||
|
||
</body>
|
||
</html>
|