I'm finishing the last chapters this week and then there is still tons of editing ahead- The release date will be March next year!
It's going to be a FAT book with lots of games, will cover all the interesting parts of Lisp programming, including full coverage of functional programming, macros, and a lot lot more. Also, it has a zillion cartoons and illustrations.
I wanted to write a Lisp book that puts FUN first- I hope you will enjoy my book!
The final game is a fully graphical game. I had to decide what method to use to bring graphics into Lisp that would be the most valuable to learn. Since almost everyone can benefit from learning the nitty gritty of how the web works, I used the following steps:
Step 1: Write REPL game
Step 2: Write a web server from scratch using sockets
Step 3: Write an SVG library
Step 4: Implement an inline SVG-based HTML5 browser frontend for the game
If you're taking votes I'd love to see some OpenGL demos using something like the cl-opengl bindings.
I don't know the extent of your book, but navigating asset management has been a bit of a challenge. I know there's a few libraries out there but docs/examples are at a premium. I'm using cl-devil and looked at freeimage, also looking for 3d model importing and the like.
I was so disappointed by what a racist David Ahl turned out to be. (He was responsible for the incredibly disrespectful "Ninja-Endo" character in late-80s Atari comics.)
Do you have any more information on that? I looked around and all I could find were these (fairly racist) asian caricatures in an Atarian Magazine comic strip:
Conrad, I am from the D.C. area; I have been putting off coming to D.C. Fringe for ages until I got a call from Australia and I was told I was on next week's flight. What a bummer. I lived in Arlington Virginia (on Columbia Pike, right near Falls Church and Alexandria) and I worked in the city at 17 and N. How on bloody earth did I miss a Lisp meeting I would never understand; where I live, I am lucky to find a computer programmer.
I just had a look at lisperati! Pretty cool and straightforward tutorial (LISP spells). It would be even cooler if there was another option detailed to run lisp apart from franz telnet (did not work when I tried) - such as slime+clozure CL or lisp in a box.
I've installed sbcl and clozure CL with slime especially to try this out (haven't lisped around in ages)... both won't cooperate if there is no defvar for objects before setf. Also, I had a buffer with lisp-mode and C-c C-c to monitor repl in another window, so I had to prepend every output with (print (x))... just thought you might wan't to know.
Thanks Keyframe- I will look into the Franz telnet issue... wasn't aware it was down.
Otherwise, this tutorial is getting a bit long in the tooth and I should probably give it a refresh sometime soon. The setf issue is a known issue for some Lisps- I should have used defparameter instead of setf, but I was still pretty green many years ago when this tutorial was written.
I tried for a while (unsuccessfully) to get any sort of graphics working with Lisp. Do any of the games in here use graphics? I feel like some really awesome "math art" could be made with Lisp.
SVG is XML-based and it's very easy to output graphics from your code from any programming language. There's a cl-svg library (http://code.google.com/p/cl-svg/) but I haven't tried it. There's also cl-cairo2 (http://www.cliki.net/cl-cairo2) which is based on the cairo library.
For realtime 3d graphics there's cl-opengl (http://common-lisp.net/project/cl-opengl/). I'm using it right now with sbcl and the glut wrapper (cl-glut). It comes with some examples too.
If you use an embedded lisp such as ECL or PLT Scheme, you can take advantage of whatever graphics facilities the host offers, and code in lisp with a "live" repl.
It seems pretty good. After I checked your site and your linkedin profile. I can't help ask this question: Do you think your training in M.D. help your working in Physician Software?
I always feel there will be a lot of improvement in software for physicians and lawyers and other professionals. But I dont' have background there and I don't have a clear understanding of the problem domain. Will an education background in those area help a software developer?
Sure, it's useful to be able to talk to people on their terms and to have the credibility of a degree. Beyond that, software development is still software development, so the actual "work" still ends up being the same, no matter what domain you work in. That said, I think both the legal and medical fields have an enormous IT future that I highly recommend pursuing- There's still a lot of innovation possible.
Wow! If I'm reading this http://lisperati.com/logo.html right, you're the one who came up with the "made with secret alien technology" logo. I love that logo. :)
BTW, on that logo page, you mention that Scheme is your favorite Lisp dialect. If that's so, then why write your book to be about CL instead of Scheme?
Hi folks, I'm working with Conrad on editing this book. If you're interested, you can keep your eye on the Land of Lisp page at the No Starch Press website:
We'll have an updated table of contents up fairly soon, and you'll be able to pre-order it as it gets closer to release. We'll also probably post some advanced samples as we move forward, so be sure to check back every once in a while.
Conrad's doing a great job, and it's going to be a really fun book!
It says it contains an evolution simulator? Oddly enough, I was thinking of something like this as a project to learn Clojure. Anyone know what that section of the book was like?
What is the pre-requisite for reading this book? I'm mainly curious to see if this will be a useful way for beginners (such as kids) to start learning computer science. Given that many of us learnt computer science by writing games and other fun utilities, I'm hoping this will be a good CS beginner's book (and a fun one at that).
I tried to make it accessible to beginning programmers, but some advanced stuff is covered in this text and I it would have been hard to assume zero programming knowledge and cover everything. I think you'd need at least some programming experience in some other language in your past to feel comfortable with this book.
Better next year then never! I wish the authors of all the books we are interested in answered all of our questions so quicky and personally. Keep up the great work.
Yes, it's a book on Common Lisp. However, I tried to emphasize techniques that are relevant for the "modern dialects" like Clojure.
For instance, I implement a Clojure-style sequence library using Lisp macros towards the end of the book to implement lazy evaluation for a boardgame AI engine.
@Dr.Code - it seems that this book could be a tool for people to learn how to program, not necessarily targeting people who already know how to program and just want to learn Lisp. Am I correct?
I tried to make it readable for beginners, but I'm hesitant to say that it would be an easy book for someone who truly has _zero_ past programming experience.
Would a beginner be able to pick up this book easily?
Would someone who knows of/about functional languages but not used them be able to pick up this book easily?
I'm finishing the last chapters this week and then there is still tons of editing ahead- The release date will be March next year!
It's going to be a FAT book with lots of games, will cover all the interesting parts of Lisp programming, including full coverage of functional programming, macros, and a lot lot more. Also, it has a zillion cartoons and illustrations.
I wanted to write a Lisp book that puts FUN first- I hope you will enjoy my book!
- Conrad Barski