On 26/12/2011, at 6:23 PM, Louis Yu Lu wrote:

> My proposition is enhance Clojure to accept both (f x) and f(x)

Fortunately, I don't see that happening, for several reasons (many of which 
have been mentioned). It adds complexity, causes confusion and inconsistent 
coding styles and it will break everything that parses s-expressions (data = 
code after all). Imagine trying to read lisp code that is a mix-n-match of the 
following:

;; the following would be equivalent:
(g (f a b))
(g f(a b))
g((f a b))
g(f(a b))

;; the following would be equivalent:
((f a) b)
(f(a) b)
(f a)(b)
f(a)(b)

FOUR different ways of expressing ((f a) b). How is that helping those trying 
to learn Clojure?

Also, note that (g f(a b)) and (g f (a b)) have very different semantics, even 
though the only difference is the added whitespace between two tokens.

If you stick with the elegant simplicity of s-expressions for a few more weeks, 
I promise that you won't even notice it anymore and you'll find that it's 
perfectly readable.

cheers,
gert

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to