Live data from Hacker News

Land of Lisp (2010)

landoflisp.com

51–60 of 84 posts

Re: Land of Lisp (2010)

#52

Earlier quoted context omitted.

If you like this sort of thing, here are some others in a similar humorous style for other languages. 1. Kaufman, Roger. A FORTRAN Coloring Book (probably the first funny programming book -- from 1978). 2. Lipovača, Miran. Learn You A Haskell for Great Good. 3. Hebert, Fred. Learn You Some Erlang for Great Good (inspired by the Haskell book). 4. Felleisen, Matthias. Realm of Racket (basically Land of Lisp for Racket.…

Why’s Poignant Guide To Ruby is also in this vein, though a bit weirder.

_why's book is what got me into programming. I still love Ruby, even though I've only had single digit months where I was able to program professionally in it

Re: Land of Lisp (2010)

#53
post #25

Earlier quoted context omitted.

> nobody's done a "Commonwealth of Clojure" Higginbotham, Daniel. Clojure for the Brave and True. https://www.braveclojure.com/

I suspect this is one of the best books on Clojure out there ("suspect": I'm working through a couple of different ones on and off).

Clojure Applied (Alex Miller) or Programming Clojure 3rd Ed (Alex Miller / Stuart Halloway) would be my picks but I don't know how beginner friendly they are.

They're certainly not as colourful as brave but found the pace and coverage good

Re: Land of Lisp (2010)

#54
post #41

Earlier quoted context omitted.

I loved Land of Lisp , but found Clojure for the Brave and True annoying. To me, LoL is hilarious, while CftBaT tries to be funny, but fails.

Hmmm I think I remember a few failed jokes but I found the actual coverage of the language pretty good, wdyt? I guess for a book like this you are not really looking for a comedy best seller, no? :-)

I guess the thing is that when an attempt at humor fails, which is obviously subjective, it starts to distract from the content.

Re: Land of Lisp (2010)

#55
post #47

Earlier quoted context omitted.

Hey Dr Barski. I'm actually reading your book right now. I do have a question. How do you write Lisp effectively? And by that I mean, Lisp seems to be written from the inside out due to the nested lists. Is there something that makes it more natural to write: (trim-string (get-string '(some data))) Or do you need to know that you're going to call trim before you get the string? Hope that makes sense.

how do you write it in other languages? sin(cos(10.4)); or v = 10.4; c = cos(v); s = sin(c); in Lisp one might write: (let* ((v 10.4) (c (cos v))) (sin c)) really old style: (prog (v c s) (setq v 10.4) (setq c (cos v)) (setq s (sin c)) s)

Why not write it as in lisp as:

    (sin (cos 10.4))

Re: Land of Lisp (2010)

#57
post #48

Earlier quoted context omitted.

Hey Dr Barski. I'm actually reading your book right now. I do have a question. How do you write Lisp effectively? And by that I mean, Lisp seems to be written from the inside out due to the nested lists. Is there something that makes it more natural to write: (trim-string (get-string '(some data))) Or do you need to know that you're going to call trim before you get the string? Hope that makes sense.

The way I do it, is that in my editor, I can type: '(some data|) Where | is my cursor. And then I have a keybinding that moves my cursor to the front and wraps around like so: (| '(some data)) So I can type the next thing: (get-string| '(some data)) Press it again: (| (get-string '(some-data))) And so on. That way, even though the code is visually nested, I can write it in logical order from what eval first to what e…

I don't think he's talking about how to type the characters... He's probably asking: you're inverting, visually, the order of operations. When does start becoming natural?

Re: Land of Lisp (2010)

#58
post #55
post #47

Earlier quoted context omitted.

how do you write it in other languages? sin(cos(10.4)); or v = 10.4; c = cos(v); s = sin(c); in Lisp one might write: (let* ((v 10.4) (c (cos v))) (sin c)) really old style: (prog (v c s) (setq v 10.4) (setq c (cos v)) (setq s (sin c)) s)

Why not write it as in lisp as: (sin (cos 10.4))

The question was for alternatives to code that reads inside->out. I personally don't have a problem with it, but I can see that many languages have a more procedural/imperative top->down control flow by default. A Java programmer might prefer that, where a Lisp programmer will be trained to alternate while reading between inside->out and outside-in in code.

Re: Land of Lisp (2010)

#59
I had dabbled in LISP before picking up this book. I'm quite happy that I did pick it up eventually to learn how to actually get something done with LISP.

After this book, I picked up "Practical Common Lisp" (going through that one at the moment).

So far, I found LoL to suit me less than a more traditional book like PCL, but it did help me actually get a sense of LISP.

Also, the song is catchy.. Simple but refined guaranteed to blow your mind... the land of lisp ;-)

Re: Land of Lisp (2010)

#60

This book is well worn, dog eared, and on my home office book shelf. While many people criticize it, for legitimate reasons, it is still a fun and wonderful journey through Common Lisp. I wish more books were written in this irreverent and whimsical style. If however you want a more traditional and "from zero" introduction to Lisp, then "Common LISP - A Gentle Introduction to Symbolic Computation"[0] may be better. I…

I second the recommendation for Practical Common Lisp, even for complete beginners and newcomers to Lisp. It covers the very basics, and the writing style is accessible and patient.

I do recommend Practical Common Lisp not only for Lisp newcomers. The concepts teached apply to programming in a bigger context. Lisp is here only a vehicle (a very good one).
Post reply on HN