On 02/28/2016 10:40 AM, evins.mi...@gmail.com wrote: > > > On Sunday, February 28, 2016 at 4:13:23 AM UTC-6, puzzler wrote: > > Yes, unfortunately, Clojure doesn't have an actual spec. The lack > of a spec probably helps keep the language more "agile", but I know > several people who automatically discount the language because of that. > > > I don't discount it; it's a good language with a good ecosystem. A spec > would be nice when writing an implementation, though. Even more > convenient would be a suite of compliance tests. I can use the linked > reference docs, of course, but it's more work to slog through them, and > is exactly what I was hoping to avoid.
The lack of a spec combined with a goal of "embracing the host" and having two implementations you might choose to emulate (clojure and clojurescript) can lead to a lot of confusion. Clojure and ClojureScript have differences, so if you are targeting a new runtime, do you just sort of aim between the two and add your own set of hosting embracing mechanisms and tradeoffs? Clojure came before ClojureScript, and I have alot more experience with it, so my sort of default stance is the trade-offs and different things ClojureScript does are are compromises due to compiling to javascript, and Clojure(JVM) is the best. But other people point out that ClojureScript is newer, so is based on ideas that did not appear in Clojure until after it had already go through several releases. So ClojureScript is more refined and the best. The definitive reference for both ClojureScript and Clojure remains their respective compilers. The ClojureScript compiler is, I think more approachable because it is written in Clojure and outputs Javascript. I think because of this, getting ClojureScript up and running on a new backend is a much more approachable target (someone did a lua backend at one point, and I know a few people who have kicked around an elisp backend). This kind of drives me nuts, because as I said, Clojure on the JVM seems more like the "real" Clojure to me. Nicola Mometto actually maintains a Clojure compiler written in Clojure https://github.com/clojure/tools.emitter.jvm, but turning Clojure into JVM bytecode is still more complex than emitting javascript. > > -- > 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 > <mailto:clojure+unsubscr...@googlegroups.com>. > For more options, visit https://groups.google.com/d/optout. -- And what is good, Phaedrus, And what is not good— Need we ask anyone to tell us these things? -- 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/d/optout.