This repository was created to track my progress while reading and solving the exercises of the book "Land of Lisp", by Conrad Barski.
Most of this code was derived from the book, with some comments I made as reminders for better knowing the language and etc. I won't be including build instructions nor anything, because there is just no point. To know what I'm talking about on each file, take a look at the book.
One more thing to add is that I am using SBCL for this book, therefore, this may imply that I changed something here and there, since SBCL doesn't have CLISP's built-in extensions. For things such as streams, for example, I had to use Quicklisp to aid me.
It's an excellent book for a lisper; you should definitely buy it.
Since everything was implemented under Emacs+SLIME using SBCL as default implementation, it is obvious that not everything on the book will work flawlessly, specially the web server implementation.
There are plenty of notes about it on the files, but it may be worth saying it here once more.
The streams and web server implementations, which made heavy use of CLISP
extensions, were tweaked to use the usocket
system.
The web server implementation, though, is not consistent and does not play
well with modern browsers, therefore I used hunchentoot
in order to
serve and handle URLs on Dice of Doom.
Both of these systems can be obtained from Quicklisp, so if you're a newbie with not much experience, you should definitely start by setting up Quicklisp along with your favorite Common Lisp implementation.
Links to this awesome Quicklisp tool (by Zach Beane) and to usocket
and
hunchentoot
(both by Eitaro Fukamachi) documentations are available below.
Files listed as per order of creation.
guess-my-number.lisp
(Chapter 2)wizards-game.lisp
(Chapter 5)graph-util.lisp
(Chapter 7)grand-theft-wumpus.lisp
(Chapter 8)datatypes-generics.lisp
(Chapter 9)orc-battle.lisp
(Chapter 9)loops.lisp
(Chapter 10)evolution-game.lisp
(Chapter 10)attack-of-the-robots.lisp
(Chapter 11)streams.lisp
(Chapter 12)web-server.lisp
(Chapter 13) [do not use!]dice-of-doom.lisp
(Chapter 15)macros.lisp
(Chapter 16)svg.lisp
(Chapter 17)wizards-game-v2.lisp
(Chapter 17)lazy.lisp
(Chapter 18)dice-of-doom-v2.lisp
(Chapter 18)dice-of-doom-v3.lisp
(Chapter 19)dice-of-doom-v4.lisp
(Chapter 20)