Hacker News new | ask | show | jobs
by chrisoakman 3870 days ago
I can assure you the author of Parinfer is aware of this distinction ;)

That sentence is an oversimplification to give context to the rest of the content in that section. Should probably have an asterisk to clarify.

1 comments

It's one of the sentences which creates endless confusions and a false image of Lisp. 'Everything is a list'. Oh, Lisp has only one data structure? Lisp is difficult to read, because it has no other syntax? Lisp is a primitive language and not usable for real programmers... etc. etc. It also creates the impression that even proponents of Lisp-like languages don't actually understand the basics...
Who is endlessly confused? Who suspects that the author of a neat lisp editor plugin has never written a non-trivial line of Common Lisp, Clojure, or Scheme? What are the chances that people in either category are also curious and excited to experiment with novel editing techniques?
> Who is endlessly confused?

Everyone who reads or hears this sentence. I've heard 'everything is a list' a zillion times already. It's just wrong. In every way.

A LISP program is a list of characters.
Actually not.

A Lisp program is data. The Lisp system does not care if it comes from a text file or if it is constructed as data by a program:

    (list '+ '1 '2)  constructs a program which can be evaluated.
I have thought about this response a bit, but, all I see here are more lists of characters.
If we're going to be super pedantic, the Common Lisp spec actually defines code as:

"code n. 1. Trad. any representation of actions to be performed, whether conceptual or as an actual object, such as forms, lambda expressions, objects of type function, text in a source file, or instruction sequences in a compiled file. This is a generic term; the specific nature of the representation depends on its context. "

http://www.lispworks.com/documentation/HyperSpec/Body/26_glo...