Cover of On Lisp

On Lisp

Paul Graham
#127
68.1 score
47 mentions
34 threads
42 commenters
Score Breakdown
Component Scores — Weighted Analysis
Sentiment
53.3
Mildly Positive
Substance
58.4
Substantive
Diversity
100.0
Extremely Diverse
Story Qual.
71.8
High-Quality
Discussions · 8 threads
bsder · hn↗

This is my pet peeve you are arguing into. Beware. :) Here's my point: People can build amazing programs with just Vectors or Hashes. People can build amazing programs without understanding recursion, evaluation, macros, or metalinguistic abstraction. And, in fact, before memory became cheap (roughly 1995) recursion was a negative, not a positive. So, guess which things Lisp taught and which it didn't? Yeah, they got it precisely BACKWARDS and then wondered why Lisp wasn't more popular. Go back, and look at Lisp books prior to the web--call it 1995-1996. I 1987, I had a version of…

kbp · hn↗

> I remember tinkering with Scheme when I was much less experienced, and getting hung up on the constant recursion and singly-linked nature of the iterables. No one writes code like that in Common Lisp. Both Scheme and CL have more than singly-linked lists, as well. > I've also begun reading - slowly - Let Over Lambda, which has kinda blown my mind. I haven't read that one but I've heard good things. I can personally vouch that Paul Graham's On Lisp is excellent, as a book on macros, Lisp, or just in general. > My colleagues with more Clojure experience strongly advise me to treat macros…

dschiptsov · hn↗

They think differently. Take a look at Smalltalk at Xerox PARC, AI lab and Scheme language at MIT, Plan9 at Bell Labs, Erlang at Ericsson, Go at Google, FreeBSD and OpenBSD projects, etc. For an individual achievements - Linux 0.9, viaweb, arc, clisp, nginx, redis, sqlite, git, vi, emacs, etc. Each particular story could be enough for learning almost everything about software engineering. Erlang is a story of applied principles, methodology and design decisions - real-world functional programming success. Plan9 is an example of what system programming really are, that less is really more…

waterhouse · hn↗

> I had already, at this point, verified that this is something you can do in Common Lisp. [...] But maybe… maybe you couldn’t do this back then? On Lisp was published in 1993. Maybe… maybe Common Lisp macros were entirely syntactic in 1993? Is there a chance that this is some, like, recent development in the lisp world? Paul Graham mentioned this (EDIT: something like this, but probably with a different answer) once in http://www.paulgraham.com/ilc03.html : > What happens when a Common Lisp macro returns a list whose car is a function? (Not the name of a function, mind you, but an actual…

IsaacL · hn↗

Interesting article, introduced me to a whole bunch of lisps I had no idea existed. Slightly tangentially, can anyone explain to me what the supposed advantage of using Lisp is over languages such as Python and Ruby (which also provide functional programming, dynamic typing, etc)? I certainly feel that I'm more productive in some languages than others, eg, I can do the same things faster in Ruby than in Java. When I tried working in Clojure for a few mini projects, I enjoyed using it, but didn't feel any more productive than in Ruby. I actually like the Lisp-like syntax, but I usually find…

qohen · hn↗

If there were some better known examples of what lisp macros were good for then maybe it would get better traction. But lisp macros don't seem to have an example of why they are worth that trade. FYI, Paul Graham's book, "On Lisp" covers macros in detail and is available as a free download here, if you are interested in the topic: http://www.paulgraham.com/onlisptext.html The book's description [0]: On Lisp is a comprehensive study of advanced Lisp techniques, with bottom-up programming as the unifying theme. It gives the first complete description of macros and macro applications. The…

dschiptsov · hn↗

It is like literature - one have to read the best books of the best guys (roughly, Nobel prize winners and nominees). Similarly, one have to study physics with Feynman lectures, etc. One have to study concepts and ideas, not the "tricks" or "classes", so, Smalltalk and ideas of Alan Kay behind it (message passing, not the cryptic syntax), Erlang, and Armstrong thesis it is based upon, all the great ideas behind Scheme - SICP, Brian Harvey's course, and CL - pg's books, especially On Lisp. Big ideas behind Haskell (syntax and semantics). Philosophy behind Python[3] and how it was followed.…

Goladus · hn↗

First I'll tell my story to answer the question, then I'll put resources mentioned in a list at the end. I've been picking up bits and pieces, and would not call myself anything near an expert. I knew what Lisp was from a Languages class in college, and we actually used lisp to implement a language. Roughly none of it stuck, except for car, cdr, and the idea of using prefix notation and the 'everything is an expression' idea. Relearning it started with just reading PG's essays and getting curious. Being too lazy to order it online, I looked in every bookstore and library I…

herdrick · hn↗

The book, "The Little Schemer" is the absolute best and fastest way to break your mind of its old habits and get into lisp programming. Try to write each piece of code before looking at the answer. (Use PLT Scheme.) Afterwards, your freshly broken mind will be ready for all the other concepts that are also important to lisps. "On Lisp" is great whether you go with Common Lisp or Scheme. I actually tried to learn Common Lisp from scratch with that book, and I slowly slogged my way through five chapters. I got a lot out of it but it would have been better had I learned what car, cdr,…

veddox · hn↗

Scheme is probably the "purest" Lisp around, but unfortunately is not very big (it's more of a learning language than a production one). Personally I would recommend Common Lisp: it's one of the older dialects, has a solid standard definition, a fairly large community and you can easily download a lot of packages via Quicklisp. Plus, several important Lisp books (including PG's "On Lisp") use it as a reference dialect. As an implementation, SBCL is the most popular, though CLISP isn't bad either. Alternately, you could try out Clojure, this has all the advantages that come with being built…

← Back to Index