Live data from Hacker News

Lisp has too many parentheses...

symbo1ics.com

11–20 of 81 posts

Re: Lisp has too many parentheses...

#11
post #8

This argument/response comes up every time.... Argument: "Lisp has too many parentheses. It's unreadable." Response: "It's conceptually elegant that everything is parentheses." This doesn't address the real point -- you can't read it well. You do get advantages for macros and symbolic processing. But the cost in readability is still there.

This doesn't address the real point -- you can't read it well.

By "you", don't you mean you?

Re: Lisp has too many parentheses...

#12

"Dorsal" means "top", like where the dorsal fin on a fish is. It doesn't even remotely mean "everything except the front". (The belly of a fish is "ventral".)

dictionary.com seems to think you're kind of both right[1].

[1] http://dictionary.reference.com/browse/dorsal

Re: Lisp has too many parentheses...

#13
Fantastic article, though the analogy to the Eiffel tower is a bit weak. It's a good exposition into the argument as to why "code is data," is a relevant and valuable argument. Lisp is a wonderful language and I love those damn parenthesis. :)

Re: Lisp has too many parentheses...

#14

"Dorsal" means "top", like where the dorsal fin on a fish is. It doesn't even remotely mean "everything except the front". (The belly of a fish is "ventral".)

There's an incongruity between animal and human anatomy. In humans, dorsal does indeed mean back, not top.

Wikipedia has a wall of text by way of explanation:

http://en.wikipedia.org/wiki/Anatomical_terms_of_location#Wh...

Re: Lisp has too many parentheses...

#15

"Dorsal" means "top", like where the dorsal fin on a fish is. It doesn't even remotely mean "everything except the front". (The belly of a fish is "ventral".)

There's an incongruity between animal and human anatomy. In humans, dorsal does indeed mean back, not top. Wikipedia has a wall of text by way of explanation: http://en.wikipedia.org/wiki/Anatomical_terms_of_location#Wh...

Except, as far as humans are concerned, "dorsal" and "posterior" are synonymous.

Re: Lisp has too many parentheses...

#16

Anyone manage to build a Lisp that used semantic indentation (like Python)? You could make it optional and just have it function as a preprocessor that generates the real thing.

There's an emacs mode for that. (http://www.emacswiki.org/emacs/UnParenMode)

It hides the parentheses, and emacs by default will indent your lisp correctly. Just like the real thing (except you can't edit while in UnParenMode...minor issue).

I do enjoy the irony in commenting with "can we get rid of the paretheses" on a post explaining why the parentheses are not important. When you truly understand lisp, you will no longer see the parentheses. They aren't real.

Re: Lisp has too many parentheses...

#17
Man all the hype about Lisp just suddenly made sense to me. Why do we need all this other stuff? Loved the simple exposition and backronyms, contrary to some other opinions here.

Re: Lisp has too many parentheses...

#18
post #8

This argument/response comes up every time.... Argument: "Lisp has too many parentheses. It's unreadable." Response: "It's conceptually elegant that everything is parentheses." This doesn't address the real point -- you can't read it well. You do get advantages for macros and symbolic processing. But the cost in readability is still there.

I've yet to find Lisp any more or less readable then anything else I write day-to-day (Python, Ruby, JavaScript, CSS, HTML). In all these languages I find myself constantly fighting to find a readable and reasonable formatting. I certainly won't argue that I find myself doing this less in Lisp, but the readability argument is just something that continues to be bandied about by people who haven't spent much time programming in Lisp.

Here's a DSL I'm working on for CouchDB:

  (defmapping post
    :pre-commit timestamp
    :fields     {:author-id :string
                 :title     :string
                 :created   :date-time
                 :modified  :date-time
                 :body      :string
                 :tags      [:string]
                 :meta      {:copyright :string
                             :href      :string}})
I wish my work in other languages had this kind of structural clarity all the time!

In constrast my favorite Python lib for CouchDB work looks like this:

  creators = ListField(DictField(Mapping.build(
                         name    = DictField(Mapping.build(
                                     name_authority    = TextField(),
                                     name_authority_id = IntegerField(),
                                     display_string    = TextField()
                                   )),
                         user_id = IntegerField(),
                         roles   = ListField(TextField()),
                         attrs   = ListField(TextField()),
                         xts     = ListField(TextField()),
                       )))
Just look at all those parens!

Re: Lisp has too many parentheses...

#19
post #8

This argument/response comes up every time.... Argument: "Lisp has too many parentheses. It's unreadable." Response: "It's conceptually elegant that everything is parentheses." This doesn't address the real point -- you can't read it well. You do get advantages for macros and symbolic processing. But the cost in readability is still there.

My guess is that what people complain about isn't really the parentheses, but rather heavy nesting of Lisp programs compared to other languages. If parentheses were replaced with something else, they'd probably complain about that something else.

Re: Lisp has too many parentheses...

#20
post #3

Gaaah, knock off the CAPSLOCK and the machismo, please. Also, you don't need to invent backcronyms for CAR/CDR, they're now called first/rest. Having said that, I really like the presentation of your blog, nice typography. And after skimming your book[1] in progress, and noting your obvious theoretical bent and taste for rigor, I can only anticipate to read more of your future posts (latch on to something "obscure" l…

The bigger problem is that CAR and CDR actually mean something without the silly anatomy analogies.
Post reply on HN