IMO, macros without homoiconicity are unnecessarily complex: so in that sense Clojure's syntax makes macros simpler. Where macros are simply reorganizing some data in Clojure, in a language like Groovy you've got to jump through hoops and only get a limited slice of the power.
Homoiconicity gives other little benefits as well, because it means you can use the same code on the code as you could use on the data, which has unforseen benefits. For example I can diff source code, or list outputs using the same function ( https://github.com/AlexBaranosky/gui-diff/blob/master/src/gui/diff.clj#L30). Also, you can very conveniently print data to a string and spit to a file, then slurp it back out. These things just make life easier in Clojure, and are directly related to its syntax. Alex On Tue, Aug 13, 2013 at 12:23 AM, Christian Sperandio < christian.speran...@gmail.com> wrote: > Even if I think the current syntax is one of the best, could you say what > Clojure's capability couldn't be done with another syntax? > > Other languages implement FP without lisp syntax and the macros could be > done in another way, perhaps with AST (like in groovy). > > Le 13 août 2013 08:53, "Alex Baranosky" <alexander.barano...@gmail.com> a > écrit : > > To me you cannot separate Clojure's syntax from its capabilities, because >> a number of its capabilities are enabled by the syntax. >> >> On Mon, Aug 12, 2013 at 10:55 PM, Christian Sperandio < >> christian.speran...@gmail.com> wrote: >> >>> I think the choice of a language has always a subjective part. >>> Particularly when you learn a language by yourself for pleasure. Because >>> it's 'for pleasure' you want to learn a fun stuff. >>> >>> At work, I believe the subjective part works against a choice. >>> Currently, at my office, the 8 other colleagues don't want to take a look >>> at Clojure because of its LISP syntax. Their brain blocks and they don't >>> hear you when you talk about the language capabilities. >>> Le 13 août 2013 03:14, "Devin Walters" <dev...@gmail.com> a écrit : >>> >>> I have to echo previous sentiments. I'm not going to fill out the survey >>>> because as it currently stands, it seems like it's begging for a conclusion >>>> that satisfies the author. >>>> >>>> I'd like to see more targeted questions w/r/t syntax. But there again, >>>> I think this kind of question is highly subjective, and likely to provide a >>>> narrow view of what people *actually* care about in Clojure: writing great >>>> programs, being inspired to dig deeper, realizing creative potential, etc. >>>> >>>> '(Devin Walters) >>>> >>>> On Aug 12, 2013, at 7:21 PM, Ramesh <ramesh10dul...@gmail.com> wrote: >>>> >>>> Great points here! >>>> >>>> I think once someone is comfortable with Clojure, Scala will be more >>>> disgusting than Java. This is because, Scala has such great adornments, >>>> ironically aspiring toward simplification. >>>> >>>> -ramesh >>>> >>>> >>>> On Mon, Aug 12, 2013 at 7:58 AM, David Pollak < >>>> feeder.of.the.be...@gmail.com> wrote: >>>> >>>>> A couple of quick reactions... >>>>> >>>>> The survey itself is too "flat". It's like asking "do you like red or >>>>> green?" Well... I like green on my walls, but I like red on my ties. >>>>> >>>>> Scala has macros and a much richer syntax (although doing anything >>>>> like core.async with Scala macros might be like putting tabsco on an open >>>>> cut... just sayin') so I don't think the syntax and the macro stuff is a >>>>> one-to-one mapping. >>>>> >>>>> People learn to work with a variety of syntaxes and are successful >>>>> with them. Java and C++ have viscously awful syntax, yet they are very >>>>> popular and most users of the languages don't notice. Both C and Lisp >>>>> model >>>>> an abstract computer and have syntax that reflects the computer that they >>>>> model and to my mind, that helps the user of each language grok the >>>>> abstract computer they are programming. >>>>> >>>>> I'd like a two-way mapping between a Clojure and an Excel-like formula >>>>> language. That way people could write one-liner Clojure functions in a >>>>> syntax that non-programmers are already comfortable with. I'm noodling >>>>> with >>>>> something like that right now. >>>>> >>>>> I think Jay and Colin are saying something very, very important: >>>>> Clojure feels uncomfortable until it feels very comfortable and then >>>>> there's no going back. I am not yet comfortable with Clojure's syntax, but >>>>> I totally appreciate it. But I'm doing work in Scala, Java, and Clojure >>>>> all >>>>> for pay all in the same week every week... and bouncing among all three >>>>> makes getting comfortable with Clojure a little slow. Further, I fear >>>>> (deeply... in my bones) that once I am comfortable with Clojure, doing >>>>> Scala will be as disgusting as doing Java is after 7 years of Scala. :-( >>>>> >>>>> >>>>> >>>>> On Mon, Aug 12, 2013 at 12:52 AM, Răzvan Rotaru < >>>>> razvan.rot...@gmail.com> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> I'm curious about the general opinion on the Clojure syntax, whether >>>>>> people actually like it or just use it because it provides macros. So I >>>>>> would like to ask you to participate in a poll. Thank You. >>>>>> >>>>>> Here's the link: >>>>>> >>>>>> https://docs.google.com/forms/d/1GSgfkeThpUYlgFVzhhNIgA1JbTilu6S9eudq_Sbxl34/viewform >>>>>> >>>>>> Răzvan >>>>>> >>>>>> -- >>>>>> -- >>>>>> 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. >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Telegram, Simply Beautiful CMS https://telegr.am >>>>> Lift, the simply functional web framework http://liftweb.net >>>>> Follow me: http://twitter.com/dpp >>>>> Blog: http://goodstuff.im >>>>> >>>>> -- >>>>> -- >>>>> 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. >>>> >>>> >>>> >>>> -- >>>> -- >>>> 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. >>> >>> >>> >> >> -- >> -- >> 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. > -- -- 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.