> Is it possible that people are confusing their inability to comprehend > deeply nested function calls (no offense intended by that - I hit this > often myself) with the strangeness of the perens? I think what others > have said about having to think more about each line of Clojure is > true. It is more expressive and information-dense. The remedy to > this though is not to eliminate the perens syntax, but to use > intermediate defs and defns to break up the logic into manageable > chunks. These defs would also make the code more self documenting, by > associating names with information. > > Yes. Even I feel the same. The problem is not the Parens, but Remembering the deep stack of function calls. This brings me to my next question:
- Is it LESS idiomatic to use "lets" to bind the output of a few functions. - Do you derive ANY benefit by deeply nesting functions? I would assume the opposite. The only loss is conciseness and I would be willing to sacrifice it a bit for readability. If not, then the use of Let should be highly encouraged. And that will fix the problem provided code is indented correctly. > As someone who's never learned a lisp before, I find myself warming up > quickly to the perens syntax. I think that it's appropriate that a > language which takes a completely different approach should also have > a different syntax than what I'm used to. I don't think that "it > might offend some people" is a valid argument for stripping out a core > element of the language syntax. If they're not willing to come out of > their comfort zones on such a minor detail then they probably aren't > very receptive to functional programming in the first place. > > And that's my $0.02. :-) > > -Brandon > > On Dec 19, 10:21 am, David Nolen <dnolen.li...@gmail.com> wrote: > > On Sat, Dec 19, 2009 at 8:25 AM, Martin Coxall <pseudo.m...@me.com> > wrote: > > > > > > I guess it's mostly a matter of judging a language by its long-term > > > > merits instead of initial appearance -- just like with so many other > > > > things in life. > > > > > That - right there - is a tacit admission that the Clojure community > will > > > find it actively desirable that it remain a minority language, so we > can all > > > feel smug that we understand something those poor average programmers > were > > > too simple to see. > > > > I don't think anybody in the Clojure community wants to Clojure to be a > > fringe language. Considering the ML now has about 3K subscribers (up 2500 > > from 14 months ago) I think Rich Hickey and the community have done a > fair > > job touting it's advantages. > > > > However, there are somethings about every language that you just have to > > accept. Lisp's parentheses are one of those things. For example, it's > really > > not worth complaining about Python's enforcement of significant > whitespace. > > Sure people sing it praises now, but to this day there still fruitless > > discussions about the matter mostly initiated by people with only a > passing > > familiarity of the language. > > > > > You know there's nothing wrong with allowing Clojure to display its > > > elegance upfront, rather than making programmers work for it like it's > some > > > Presbytarian admission exam. > > > > You are not the first to bring up the concern about parentheses and you > will > > certainly not be the last. My advice would be to let the matter drop. > People > > who aren't going to learn Lisp just because it has parentheses aren't > going > > to be converted. But from the variety of programmers on this list, parens > > are not a significant deterrant for programmers coming from the > background > > of Java, Scala, JavaScript, C, C++, Objective-C, OCaml, Haskell, Prolog, > > Erlang, PHP, Perl, Python, Ruby, etc. > > > > > > > > > Martin > > > > > -- > > > 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<clojure%2bunsubscr...@googlegroups.com> > <clojure%2bunsubscr...@googlegroups.com<clojure%252bunsubscr...@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 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<clojure%2bunsubscr...@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 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