Sergey's example code seems to have arguments to a function happen on the same line while new function calls appear on new lines. So:
filter smaller xs ...would be the equivalent of filter(smaller(xs)). Anyway, I agree that parens don't add any more clutter. Having to *always* have all the arguments on the same line could lead to needlessly long lines. I also don't see how syntax like this would make the transition to full Clojure with all the parentheses any easier. Beginners would still shy away from all the parens and never go beyond playing around with the language. Would Python ever have a "indent-lite" version that allowed beginners to use braces instead of indentation? Of course not, because learning to read and write code with significant whitespace is an important part of python. If a beginner doesn't learn those things from the start they'll only handicap themselves more later on. And the same goes with Clojure, it's important to learn those parentheses from the beginning so you can lose your fear of them earlier on. Tamreen On Mon, Feb 4, 2013 at 3:06 PM, Timothy Baldridge <tbaldri...@gmail.com>wrote: > Parens actually don't complect, they have a very very clear meaning. They > organize functions and arguments. Let's take one line from your example: > > filter smaller xs > > So....is that the python equivalent to which of these? > > filter(smaller(xs)) > filter(smaller, xs) > filter(smaller(), xs()) > filter(smaller(xs())) > > I would also assert that Python complects formatting and semantic meaning > of the code. I'm quite proficient at Python and even I hate that fact. > > Timothy > > > > On Mon, Feb 4, 2013 at 1:01 PM, Sergey Didenko > <sergey.dide...@gmail.com>wrote: > >> Hi, >> >> For us as Clojure community it is easy to see how Clojure benefits >> from being a Lisp. Homoiconity, extreme conciseness, esoteric look and >> feel, etc. >> >> However it is hard to see from the inside how Clojure as ecosystem >> (probably) suffer from being a Lisp. Please don't throw rotten eggs at >> me, I mean only the part of Lisp that is ... parentheses. >> >> I remember a number of people that mention parentheses as obstacles to >> the wider Clojure adoption, in the Clojure space - in the Clojure >> related discussions, even on this mailing list IIRC. >> >> But the number of people thinking this way outside the Clojure groups >> is even bigger! We probably don't notice it because got immune to this >> famous argument "it has too many parentheses" early when diving into >> Clojure. >> >> I suggest there are a big number of people that could gain interest in >> clojure if we provide them with parentheses-lite Clojure syntax. For >> example we can steal Python way of intending blocks. >> >> For example the following quicksort implementation >> >> (defn qsort [[pivot & xs]] >> (when pivot >> (let [smaller #(< % pivot)] >> (lazy-cat (qsort (filter smaller xs)) >> [pivot] >> (qsort (remove smaller xs)))))) >> >> could be written as >> >> (set! python-style-op-op true) >> >> defn qsort [[pivot & xs]] >> when pivot >> let [smaller #(< % pivot)] >> lazy-cat >> qsort >> filter smaller xs >> [pivot] >> qsort >> remove smaller xs >> >> What do you think? >> >> Isn't is less complex? >> >> >> P.S. Ok, I must confess, the mention of the C-Word in the last >> sentence was just a desperate way to get Rich's attention. >> >> P.P.S. Actually I would also love to see Clojure community making >> video clip "Clojure - Python Style" as a remix for "G... Style", but >> this idea is probably way ahead of its time. >> >> >> Regards, Sergey. >> >> -- >> -- >> 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 >> --- >> You received this message because you are subscribed to the Google Groups >> "Clojure" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojure+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > > -- > “One of the main causes of the fall of the Roman Empire was that–lacking > zero–they had no way to indicate successful termination of their C > programs.” > (Robert Firth) > > -- > -- > 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 > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- -- 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.