-
Notifications
You must be signed in to change notification settings - Fork 0
/
learning-lisp.html
180 lines (156 loc) · 16.9 KB
/
learning-lisp.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
<!--
Design by Bryant Smith
http://www.bryantsmith.com
http://www.aszx.net
email: templates [-at-] bryantsmith [-dot-] com
Released under Creative Commons Attribution 2.5 Generic. In other words, do with it what you please; but please leave the link if you'd be so kind :)
Name : The Slant
Version : 1.0
Released : 2009-07-25
--><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="static/smallprojects.css" />
<title>Lisp in Summer Projects - learning-lisp</title>
</head>
<body>
<div id="page">
<div id="cssmenu">
<ul>
<li class=""><a href="index.html"><span>(welcome)</span></a></li>
<li class="has-sub"><a href="learning-lisp.html#"><span>projects</span></a>
<ul>
<li><a href="winning-projects.html"><span>(winning)</span></a></li>
<li class=""><a href="awesome-projects.html"><span>(awesome)</span></a></li>
<li class="last"><a href="completed-projects.html"><span>(completed)</span></a></li>
</ul>
</li>
<!--li class='has-sub'><a href=''><span>project submission</span></a>
<ul>
<li class=''><a href='/contest'><span>(contest)</span></a></li>
<li class='last'><a href='/submit-project'><span>(submit-project)</span></a></li>
</ul>
</li -->
<li class="has-sub"><a href="judging.html"><span>judging</span></a>
<ul>
<li class=""><a href="judges.html"><span>(judges)</span></a></li>
<li class=""><a href="judging-criteria.html"><span>(judging-criteria)</span></a></li>
<li class="last"><a href="timeline.html"><span>(timeline)</span></a></li>
</ul>
</li><li class="has-sub"><a href="learning-lisp.html#"><span>sponsor</span></a>
<ul>
<li class=""><a href="sponsors.html"><span>(official sponsors)</span></a></li>
<li class="last"><a href="donate.html"><span>(donate)</span></a></li>
</ul>
</li>
<li class="has-sub"><a href="learning-lisp.html#"><span>rules</span></a>
<ul>
<li><a href="contest.html"><span>(contest)</span></a></li>
<li><a href="rules.html"><span>(official rules)</span></a></li>
<li class=""><a href="judges.html"><span>(judges)</span></a></li>
<li><a href="faq.html"><span>(FAQ)</span></a></li>
<li class="last"><a href="ideas.html"><span>(ideas)</span></a></li>
</ul>
</li>
<li class="has-sub last"><a href="learning-lisp.html#"><span>help</span></a>
<ul>
<li><a href="learning-lisp.html"><span>(learning lisp)</span></a></li>
<li><a href="get-the-word-out.html"><span>(outreach)</span></a></li>
<li><a href="http://goo.gl/dk0LN" target="_blank"><span>(discussion group)</span></a></li>
<li><a href="contact.html"><span>(contact us)</span></a></li>
<li class="last"><a href="organizers.html"><span>(about)</span></a></li>
</ul>
</li>
</ul>
</div>
<!-- div id="header">
<h1>welcome</h1>
<ul>
<li><a href="/welcome">welcome</a></li>
<li><a href="/ideas">ideas</a></li>
<li><a href="/rules">rules</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/contact">contact</a></li>
</ul>
</div -->
<div id="main">
<div class="main_top">
<h1>learning-lisp</h1>
</div>
<div class="main_body"><p>Lisp is incredibly easy to learn, little kids quickly pick up the <a class="external" href="http://scratch.mit.edu" target="_blank">lispy graphics language Logo</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" />. Lisp's ease of learning is especially true if it's your FIRST programming language as shown by MIT's traditional teaching of Scheme to every undergrad.
</p><p>This is a far from complete list of all available resources, it is targeted to teaching LISP for beginners and developers with previous experience in other languages. For the most part advanced topics are not represented here but if there is something you feel would be a good fit, <a class="wikipage" href="Contact.html">please contact us</a>.
</p>
<p><b>Understanding Lisp</b>
</p>
<ul><li><a class="external" href="https://www.amazon.com/Little-Schemer-Daniel-P-Friedman/dp/0262560992" target="_blank">"The Little Schemer"</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> (Amazon) hand-downs this book is probably the best way to think in lisp. Part of the brilliance is that it <i>assumes you know nothing more than English</i>. Don't let the title fool you, the latest edition supports <b>Scheme</b> and <b>Common Lisp</b>. <b>Clojure</b> support is compliments of <a class="external" href="https://github.com/emanon001/The-Little-Schemer-in-Clojure/tree/master/src/the_little_schemer" target="_blank">Emanon's clojure examples</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" />. <a class="external" href="http://stackoverflow.com/questions/13003850/little-schemer-and-racket" target="_blank">Here are some hints</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> on using it with the highly respected <b>Racket</b>.
</li></ul><p><b>Clojure</b>
</p>
<ul><li><a class="external" href="http://juliangamble.com/blog/2012/07/13/amazing-lisp-books-living-again-in-clojure/" target="_blank">A nice article on Common Lisp/Clojure overlap</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" />, as seen with "The Little Schemer".
</li><li><a class="external" href="https://www.amazon.com/Programming-Clojure-Pragmatic-Programmers-Miller/dp/1680502468" target="_blank">Programming Clojure</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> (Amazon) by Halloway and Bedra is a great all around book that assumes you know little and can get you productive quickly.
</li><li><a class="external" href="http://java.ociweb.com/mark/clojure/article.html" target="_blank">Clojure - Functional Programming for the JVM</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" />
</li><li><a class="external" href="http://www.lisperati.com/clojure-spels/casting.html" target="_blank">Casting Spells in Lisp</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> Clojure version.
</li><li><a class="external" href="https://www.amazon.com/Joy-Clojure-Michael-Fogus/dp/1617291412">Joy of Clojure</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> (Amazon)
</li><li><a class="external" href="http://amzn.com/1935182595">Clojure In Action</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> (Amazon)
</li><li><a class="external" href="https://www.amazon.com/Clojure-Programming-Practical-Lisp-World/dp/1449394701">Clojure Programming</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> (Amazon)
</li></ul><p><b>Common Lisp</b>
</p>
<ul><li><a class="external" href="http://www.cs.cmu.edu/~dst/LispBook/book.pdf" target="_blank">Gentle Introduction to Symbolic Computing</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> by David Touretzky is a great starter especially for those without previous programming experience.
</li><li><a class="external" href="http://www.paulgraham.com/acl.html">ANSI Common Lisp</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> by Paul Graham is great way to learn Common Lisp.
</li><li><a class="external" href="http://www.paulgraham.com/onlisp.html" target="_blank">On Lisp</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> by Paul Graham is a true classic. This is a more advanced book that contains one of the best treatments of macros.
</li><li><a class="external" href="https://www.amazon.com/Practical-Common-Experts-Programming-Languages/dp/1430242906" target="_blank">Practical Common Lisp</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> (Amazon) by Peter Seibel <i>"Practical Common Lisp is a solid introductory text to Common Lisp for people with previous programming experience, and is sufficiently no-nonsense that even relatively experienced lisp programmers will benefit from it."</i> - N. Siivola
</li><li><a class="external" href="https://www.amazon.com/Land-Lisp-Learn-Program-Game-ebook-dp-B004AE3P4K/dp/B004AE3P4K" target="_blank">Land of Lisp, Learn to Program in Lisp, One Game at a Time!</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> (Amazon) by Conrad Barski <i>"The first incarnation of Lisp was discovered by John McCarthy over 50 years ago, so it's difficult to imagine that a book on the subject bringing a fresh perspective, but Land of Lisp pulls it off in spades. The book manages to carve its own unique niche in the Lisp book landscape through a masterful blend of cartoons, game development examples, interesting prose, and a highly sharpened whit."</i> - Fogus
</li><li><a class="external" href="http://www.franz.com/resources/educational_resources/cooper.book.pdf" target="_blank">Basic Lisp Techniques</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> by David Cooper Although written with Allegro Common Lisp in mind 90% of the 100 page book is applicable to all implementations and is a good introduction to learning Common Lisp.
</li><li><a class="external" href="http://markwatson.com/opencontent_data/lisp_lic.htm" target="_blank">Loving Lisp, the Savy Programmer's Secret Weapon</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> by Mark Watson
</li><li><a class="external" href="http://successful-lisp.blogspot.com" target="_blank">Successful Lisp</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> by David Lamkins is a good way to learn Common Lisp if you already have programming experience with other languages.
</li><li><a class="external" href="https://cse.buffalo.edu/~shapiro/Commonlisp/">COMMON LISP: An Interactive Approach</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> by Stuart C. Shapiro
</li><li><a class="external" href="https://github.com/norvig/paip-lisp">Paradigms of Artificial Intelligence Programming</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> by Peter Norvig
</li></ul><p><b>Scheme</b>
</p>
<ul><li>MIT's highly regarded SICP, <a class="external" href="http://mitpress.mit.edu/sicp/" target="_blank">Structure and Interpretation of Computer Programs</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> is available for free along with <a class="external" href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures/" target="_blank">Sussman's MIT OpenCourseWare video lectures</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" />
</li><li><a class="external" href="http://www.htdp.org/2003-09-26/Book/curriculum.html" target="_blank">How to Design Programs</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" />
</li><li><a class="external" href="https://freecomputerbooks.com/Teach-Yourself-Scheme-in-Fixnum-Days.html" target="_blank">Teach Yourself Scheme in Fixnum Days</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" />
</li><li><a class="external" href="ftp://ftp.cs.utexas.edu/pub/garbage/cs345/schintro-v14/schintro_toc.html" target="_blank">An Introduction to Scheme and its Implementation</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" />
</li><li><a class="external" href="https://www.amazon.com/Sketchy-LISP-Nils-M-Holm/dp/1411674480" target="_blank">Sketchy Lisp, An Introduction to Functional Programming in Scheme</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" />
</li><li><a class="external" href="http://www.whoishostingthis.com/resources/scheme/">Scheme Programming Lanugage</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> a nice writeup and collection of resources.
</li></ul><p><b>Racket</b>
</p>
<p>Racket, a <a class="external" href="http://racket-lang.org/new-name.html" target="_blank">superset of Scheme</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> is compatible with many of the Scheme books and is one of the best development environments ever designed.
</p>
<ul><li><a class="external" href="http://racket-lang.org/learning.html">Racket itself</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> comes with great documentation.
</li><li><a class="external" href="http://www.htdp.org/2003-09-26/Book/curriculum.html" target="_blank">How to Design Programs</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> really great resource that assumes nothing.
</li><li><a class="external" href="http://realmofracket.com/">Realm of Racket</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" />
</li><li><a class="external" href="http://www.bootstrapworld.org/">Bootstrap</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> curriculum based on Racket that teaches algebra and programming. Designed for middle-school kids and older.
</li></ul><p><br />
<br />
<b>Simple Development Environments</b>
</p>
<p>Here are a few easy to get started development environments that work in Windows, Mac and Linux. The aim of these is simplicity and not speed/configurability or any of the other dozens of reasons where other products shine.
</p>
<p><b>Clojure</b> <a class="external" href="https://clojars.org/clooj">Clooj</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> is a free IDE written in Clojure itself, all it requires is Java.
</p>
<p><b>Common Lisp</b> <a class="external" href="http://www.lispworks.com/downloads/">LispWorks</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> is a proprietary environment with a liberal license and few limitations in the Personal Edition. Multi-threaded 32/64bit customizable IDE sporting a debugger and object inspector.
</p>
<p><b>Scheme and Racket</b> <a class="external" href="http://racket-lang.org/download/">Racket</a><img class="outlink" src="http://lispinsummerprojects.org/wiki/images/out.png" alt="" /> includes Scheme-mode and is a great free environment with debugger and stepper.
</p></div>
<div class="main_body_bottom">
<div class="donate"><!-- a href="/donate"><img src="/static/images-sp/sponsor.png"></a --></div>
<p>( sponsored by <a target="_blank" href="http://lispnyc.org" class="external">LispNYC</a><img alt="" src="http://lispinsummerprojects.org/wiki/images/out.png" class="outlink" />, <a target="_blank" href="http://www.meetup.com/Clojure-NYC/">ClojureNYC</a><img alt="" src="http://lispinsummerprojects.org/wiki/images/out.png" class="outlink" /> the <a target="_blank" href="http://alu.org" class="external">Association of Lisp Users</a><img alt="" src="http://lispinsummerprojects.org/wiki/images/out.png" class="outlink" /> and you )</p>
</div>
<div class="main_bottom"></div>
</div>
<div id="footer">
<div id="hupso"><!-- Hupso Share Buttons - http://www.hupso.com/share/ --><a class="hupso_toolbar" href="http://www.hupso.com/share/"><img src="http://static.hupso.com/share/buttons/share-medium.png" style="border:0px; float:left;" alt="Share Button" /></a><script type="text/javascript">var hupso_services_t=new Array("Facebook","Google Plus","Twitter");var hupso_url_t="http://lispinsummerprojects.org";var hupso_title_t="Lisp%20In%20Summer%20Projects";var hupso_toolbar_size_t="medium";var hupso_twitter_via = "LispNYC";</script><script type="text/javascript" src="http://static.hupso.com/share/js/share_toolbar.js"></script><!-- Hupso Share Buttons --></div>
</div>
<!--- google analytics, don't worry, we're not evil - -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-20563213-2', 'lispinsummerprojects.org');
ga('send', 'pageview');
</script>
</div></body>
</html>