155 lines
No EOL
13 KiB
HTML
155 lines
No EOL
13 KiB
HTML
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||
<title>CLiki: Online Tutorial</title>
|
||
<link rel="alternate" type="application/atom+xml" title="ATOM feed of edits to current article"
|
||
href="https://www.cliki.net/site/feed/article.atom?title=Online%20Tutorial">
|
||
<link rel="stylesheet" href="static/css/style.css">
|
||
<link rel="stylesheet" href="static/css/colorize.css">
|
||
</head>
|
||
|
||
<body>
|
||
<span class="hidden">CLiki - Online Tutorial</span>
|
||
<div id="content"><div id="content-area"><div id="article-title">Online Tutorial</div><div id="article">Online Tutorials for programming Common Lisp or with Common Lisp. See also the rest of the <a href="Document.html" class="internal">Document</a>s and <a href="Lisp Books.html" class="internal">Lisp Books</a>, and the <a href="Getting Started.html" class="internal">Getting Started</a> guide.<p><h2>Recommended for beginners</h2><p><ul>
|
||
<li>Peter Seibel's <a href="http://www.gigamonkeys.com/book/">Practical Common Lisp</a> (see also <a href="Practical Common Lisp.html" class="internal">Practical Common Lisp</a> on cliki)</li><p><li>
|
||
<a href="http://learnxinyminutes.com/docs/common-lisp/">Learn X in Y minutes (Lisp)</a>. A good precursor to an introductory book like Practical Common Lisp (below).<p></li>
|
||
<li>
|
||
<a href="https://github.com/rabbibotton/clog/blob/main/LEARN.md">Common Lisp "The Tutorial" Series - Setting up Lisp + Lisp Tutorial for Programmers + CLOG Tutorials</a><p></li>
|
||
<li><a href="http://stevelosh.com/blog/2018/08/a-road-to-common-lisp/">A Road to Common Lisp</a></li><p><li>
|
||
<a href="http://lisp.plasticki.com/show?14F">Lisp in Small Parts</a>.
|
||
|
||
</li>
|
||
<li>
|
||
<a href="http://cs.gmu.edu/~sean/lisp/LispTutorial.html">Lisp Tutorial: Learning Lisp Fast</a>.<p></li>
|
||
<li>
|
||
<a href="http://alarm.cti.depaul.edu/lisptutor/">LispTutor Jr</a> is an online tutorial with interactive exercises to test your knowledge and understanding.</li><p><li> <a href="http://art2.ph-freiburg.de/Lisp-Course">ELM-ART</a> is an interactive and adaptive Web-based Lisp tutorial, itself written in Common Lisp, developed by <a href="http://art.ph-freiburg.de/psy/people/GWeber.html">Prof. Gerhard Weber</a> of the University of Freiburg. Tutorial available in English and German. Type in a unique user name and password: no pre-registration step required. (Home page last changed: 2006)<p></li>
|
||
<li>
|
||
<a href="http://www.cs.cmu.edu/afs/cs.cmu.edu/user/dst/www/LispBook/index.html">Common Lisp: A Gentle Introduction to Symbolic Computation</a> by David S. Touretzky. Assumes no programming prerequisite but does assume you have a working Lisp implementation setup. <p></li>
|
||
<li>
|
||
<a href="http://www.lisperati.com/casting.html">Casting SPELs in Lisp -- A Comic Book</a> by Conrad Barski, M.D. Quick interactive intro to Lisp, including macros (aka SPELs), using an interactive adventure game example. Last updated 2008. A prequel to his book, Land Of Lisp (2010).<p></li>
|
||
<li>David B. Lamkins' <a href="http://successful-lisp.blogspot.com/">Successful Lisp</a> book<p></li>
|
||
<li>
|
||
<a href="http://play.org/links/lisp-setup">Prepare your Lisp environment(s)</a>. How to set up a Common Lisp implementation and IDE.<p></li>
|
||
<li>Rainer Joswig's <a href="http://web.archive.org/web/20161219013413/http://lispm.de/ccl">Lisp on the Raspberry Pi and other ARM based Platforms</a>: How to set up a Common Lisp Clozure implementation on a multitude of ARM based platforms such as Raspberry Pi, ODROID and hackberry.</li><p><li>
|
||
<a href="http://www.cse.buffalo.edu/~shapiro/Commonlisp/">COMMON LISP: An Interactive Approach</a>, by Stuart C. Shapiro<p></li>
|
||
<li>
|
||
<a href="DataMiningTools Lisp slides.html" class="internal">DataMiningTools Lisp slides</a> are a set of slides introducing aspects of Lisp programming.<p><p></li>
|
||
</ul><p><h2>Further reading</h2><p><ul>
|
||
<li>The <a href="https://lispcookbook.github.io/cl-cookbook/">Common Lisp Cookbook</a>
|
||
</li>
|
||
<li>
|
||
<a href="http://www.norvig.com/luv-slides.ps">Slides</a> for the ``Tutorial on Good Lisp Programming Style'' by Peter Norvig and Kent Pitman at the Lisp Users and Vendors Conference, August 10, 1993<p></li>
|
||
<li>Heinrich Taube's <a href="http://web.archive.org/web/20100416004533/http://ddm.caad.ed.ac.uk/staff/michael/class/moz/cm/doc/contrib/lispstyle.html">Lisp Style Tips</a> quickly covers the major points of style for efficient Lisp use for beginners.<p></li>
|
||
<li>
|
||
<a href="http://p-cos.net/lisp/guide.html">Pascal Costanza's Highly Opinionated Guide to Lisp</a><p></li>
|
||
<li>
|
||
<a href="http://chaitanyagupta.com/lisp/restarts.html">Common Lisp: A Tutorial on Conditions and Restarts</a><p></li>
|
||
<li>
|
||
<a href="http://vijaymathew.github.io/aeh.html">Exception handling - the Common Lisp way</a><p></li>
|
||
<li>
|
||
<a href="http://web.archive.org/web/20141217013140/http://www.aiai.ed.ac.uk/~jeff/clos-guide.html">CLOS Guide</a><p></li>
|
||
<li>Using <a href="http://web.archive.org/web/20110917104225/http://vmathew.in/lisp-repl.html">Common Lisp REPL tools</a> for development and debugging.<p></li>
|
||
<li>
|
||
<a href="http://www.adamtornhill.com/articles/lispweb.htm">Lisp for the Web</a> (See also <a href="http://web.archive.org/web/20161017090213/https://msnyder.info/posts/2011/07/lisp-for-the-web-part-ii/">Lisp for the Web Part II</a> which expands on the original.)<p></li>
|
||
<li>
|
||
<a href="http://web.archive.org/web/20201112015207/http://www.n-a-n-o.com/lisp/cmucl-tutorials/LISP-tutorial.html">Common LISP Hints</a>, by Geoffrey J. Gordon (CMUCL but also for other implementations).<p></li>
|
||
<li>
|
||
<a href="http://web.archive.org/web/20180207161049/http://frank.kank.net/essays/hash.html">Hash Table Syntax in Common Lisp</a> - reader macro and pretty printer tutorial<p></li>
|
||
<li>
|
||
<a href="https://gist.github.com/chaitanyagupta/9324402">Reader Macros in Common Lisp</a><p></li>
|
||
<li>
|
||
<a href="http://arxiv.org/pdf/1209.5626v1.pdf">A Tutorial For Creating and Publishing Open Source Lisp Software</a> (pdf), by <a href="Robert Smith.html" class="internal">Robert Smith</a>
|
||
</li><p><li>
|
||
<a href="https://vindarel.github.io/cl-torrents/tutorial.html">cl-torrents tutorial</a>, an extensive tutorial covering <strong>web scraping</strong>, project creation, parsing of <strong>command line arguments</strong>, building executables, <strong>continuous integration</strong>, unit tests, etc. </li><p></ul><p><h2>University course material</h2><p><ul>
|
||
<li>
|
||
<a href="http://www.nicklevine.org/declarative/lectures/">Lisp and elements of style</a> is a twelve-lecture course written by <a href="Nick Levine.html" class="internal">Nick Levine</a> for delivery to undergraduates at <a href="https://aru.ac.uk/">Anglia Polytechnic University</a>. It covers most introductory aspects of the language (apart from <a href="CLOS.html" class="internal">CLOS</a>) and includes exercises, suggestions for practical sessions, two longer assignments and even an exam with model answers. Online and free. (Courses from 1999 and 2000. Last update in 2001)<p></li>
|
||
<li>Four <a href="http://www.cs.sfu.ca/CC/310/pwfong/Lisp/">lisp tutorials for the CS310 class</a> taught by Philip Fong at Simon Fraser University. The tutorials consider basic lisp programming, <a href="https://www.cliki.net/functional%20programming" class="new">functional programming</a>, <a href="https://www.cliki.net/data%20abstraction" class="new">data abstraction</a>, and <a href="https://www.cliki.net/imperative%20programming" class="new">imperative programming</a>. Each has exercises, source code, and solutions. (No course dates; web server says page was last updated 2005)<p></li>
|
||
<li> <a href="http://dept-info.labri.fr/~idurand/enseignement/PFS/Book/programmation.html">Traité de Programmation en Common Lisp</a> (in French), by Robert Strandh and Irène Durand. (2001) (old link http://dept-info.labri.u-bordeaux.fr/%7Estrandh/Teaching/Programmation-Symbolique/Common/Book/HTML/programmation.html is dangling).<p></li>
|
||
<li> <a href="http://www.algo.be/logo1/lisp/prog.html">Introduction à la programmation en Common Lisp</a>.<p></li>
|
||
<li>
|
||
<a href="http://www.dca.fee.unicamp.br/courses/EA072/lisp9596/index.html">Introdução à Linguagem Lisp</a>. Tutorial by João Cachopo and António Menezes Leitão. Excercises with answers. In Portuguese. (1995)<p></li>
|
||
<li>Although teaching Scheme, Hal Abelson and Gerald Jay Sussman's Structure and Interpretation of Computer Programs (<a href="SICP.html" class="internal">SICP</a>) course taught at MIT is a very good resource for learning how to think in Lisp. Videos of lectures are available from <a href="http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/">CSAIL</a>.<p></li>
|
||
<li> <a href="http://www.cs.northwestern.edu/academics/courses/325/admin/overview.php">EECS 325 Lecture Notes</a><p></li>
|
||
<li>
|
||
<a href="http://faculty.chas.uni.edu/~wallingf/teaching/172/materials/session13/">[using CLOS] How a simple MVC works (810:172 Software Engineering Course) </a><p></li>
|
||
</ul><p><h2>Implementation Provided Tutorials</h2><p>Those are Common Lisp tutorial provided by implementations. They may have some implementation specific examples, but may still be useful to all.<p><ul>
|
||
<li>
|
||
<a href="http://clisp.hg.sourceforge.net/hgweb/clisp/clisp/raw-file/tip/doc/LISP-tutorial.txt">clisp LISP-tutorial.txt</a><p></li>
|
||
<li>
|
||
<a href="http://www.franz.com/resources/educational_resources/cooper.book.pdf">Basic Lisp Techniques, by David Cooper, Jr., a comprehensive basic Lisp workbook (some Allegro CL dependencies).</a><p></li>
|
||
</ul><p><h2>Cliki Tutorials</h2><p><ul>
|
||
<li>
|
||
<a href="CloserLookAtCharacters.html" class="internal">CloserLookAtCharacters</a> -
|
||
Characters are not their codes -- Encodings and external format in Common Lisp
|
||
</li>
|
||
<li>
|
||
<a href="CloserLookAtSyntax.html" class="internal">CloserLookAtSyntax</a> -
|
||
From time to time, we see lisp very newbies try to write "blocks" of expressions within parentheses like:
|
||
</li>
|
||
<li>
|
||
<a href="DataMiningTools Lisp slides.html" class="internal">DataMiningTools Lisp slides</a> -
|
||
DataMiningTools is an online education company that has produced a set of freely-viewable introductory slides on Common Lisp:
|
||
</li>
|
||
<li>
|
||
<a href="Exporting Struct-Related Functions.html" class="internal">Exporting Struct-Related Functions</a> -
|
||
Brief discussion of functions to be considered for export when creating Lisp structures with <a href="https://www.cliki.net/site/HyperSpec/Body/mac_defstruct.html" class="hyperspec">defstruct</a>
|
||
</li>
|
||
<li>
|
||
<a href="format.html" class="internal">format</a> -
|
||
|
||
</li>
|
||
<li>
|
||
<a href="Practical Common Lisp.html" class="internal">Practical Common Lisp</a> -
|
||
"Practical Common Lisp", an introduction to Common Lisp by <a href="Peter Seibel.html" class="internal">Peter Seibel</a>, available on the web at <a href="http://www.gigamonkeys.com/book/">http://www.gigamonkeys.com/book/</a> and also in dead-tree form from <a href="https://www.apress.com/">Apress</a>
|
||
</li>
|
||
<li>
|
||
<a href="TutorialClispDebugger.html" class="internal">TutorialClispDebugger</a> -
|
||
Small Clisp Debugger Tutorial
|
||
</li>
|
||
<li>
|
||
<a href="TutorialDebuggingDeadLock.html" class="internal">TutorialDebuggingDeadLock</a> -
|
||
Debugging a dead-lock in a program using bordeaux-threads in ccl
|
||
</li>
|
||
<li>
|
||
<a href="TutorialSpecialVariables.html" class="internal">TutorialSpecialVariables</a> -
|
||
Mini Tutorial Special Variables
|
||
</li>
|
||
</ul></div></div>
|
||
<div id="footer" class="buttonbar"><ul><li><a href="Online Tutorial.html">Current version</a></li>
|
||
<li><a href="https://www.cliki.net/site/history?article=Online%20Tutorial">History</a></li>
|
||
<li><a href="https://www.cliki.net/site/backlinks?article=Online%20Tutorial">Backlinks</a></li><li><a href="https://www.cliki.net/site/edit-article?title=Online%20Tutorial&from-revision=3863178395">Edit</a></li><li><a href="https://www.cliki.net/site/edit-article?create=t">Create</a></li></ul></div>
|
||
</div>
|
||
<div id="header-buttons" class="buttonbar">
|
||
<ul>
|
||
<li><a href="https://www.cliki.net/">Home</a></li>
|
||
<li><a href="https://www.cliki.net/site/recent-changes">Recent Changes</a></li>
|
||
<li><a href="CLiki.html">About</a></li>
|
||
<li><a href="Text Formatting.html">Text Formatting</a></li>
|
||
<li><a href="https://www.cliki.net/site/tools">Tools</a></li>
|
||
</ul>
|
||
<div id="search">
|
||
<form action="https://www.cliki.net/site/search">
|
||
<label for="search_query" class="hidden">Search CLiki</label>
|
||
<input type="text" name="query" id="search_query" value="" />
|
||
<input type="submit" value="search" />
|
||
</form>
|
||
</div>
|
||
</div>
|
||
<div id="pageheader">
|
||
<div id="header">
|
||
<span id="logo">CLiki</span>
|
||
<span id="slogan">the common lisp wiki</span>
|
||
<div id="login"><form method="post" action="https://www.cliki.net/site/login">
|
||
<label for="login_name" class="hidden">Account name</label>
|
||
<input type="text" name="name" id="login_name" class="login_input" />
|
||
<label for= "login_password" class="hidden">Password</label>
|
||
<input type="password" name="password" id="login_password" class="login_input" />
|
||
<input type="submit" name="login" value="login" id="login_submit" /><br />
|
||
<div id="register"><a href="https://www.cliki.net/site/register">register</a></div>
|
||
<input type="submit" name="reset-pw" value="reset password" id="reset_pw" />
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</body></html> |