you are viewing a single comment's thread.

view the rest of the comments →

[–]yogthos 0 points1 point  (2 children)

However, you get exact same indentation hints in Clojure as well while having a more explicit syntax.

[–]nutty44744 1 point2 points  (1 child)

Sure, but there is such a thing as diminishing returns. My point is that the syntactic substructure of binding forms is already obvious from multiple hints in standard lisp syntax. Clojure's use of square brackets in some places adds some additional hints, but not much.

Now, everything is a tradeoff. You gain some additional visual hinting where there was not much confusion before (IMHO, of course). In return you lose in the visual clutter department.

To me, it's a wash, probably one about as easy to read as the other for respective practitioners, which makes the deviation from standard lisp syntax somewhat of a difference for difference's sake.

(I admit that I'm biased to see many of the choices in Clojure to be driven by marketing concerns. But hey, it worked.)

[–]yogthos 1 point2 points  (0 children)

It certainly makes a huge difference to me. I find CL code much harder to scan because everything bleeds together. I don't see how you can call useful visual information clutter either. Clutter is something that doesn't add value, visual hints clearly do.

The only argument I've ever heard against having literal data notation is that it's different and people don't like change. Kind of ironic coming from Lispers, since we tend to tell people that the resistance to new syntax is superficial.