The Specter post about if it should be made into core or not got me wondering what makes Clojure Clojure.
I'm trying to wrap my head around what is the most minimal set of things that uniquely make up Clojure. Right now, in that set I've got: - The Clojure syntax and its semantics - The Clojure special forms and their semantics - The Clojure core libraries and their semantics So if I implemented a compiler that worked with the above set, it would be a valid Clojure compiler. Now, ClojureScript appears to me like it is not Clojure, but a dialect of it. I say that because it breaks some of the syntax semantics of Clojure, like not allowing macros in the same namespace as functions. It also breaks some of the core semantics, like def creating standard JS vars and not Clojure Vars. In this respect, a language like hy-lang is also a Clojure dialect, granted it shares even less of the Clojure set. Is ClojureCLR a dialect of Clojure, or is it a true Clojure implementation? One last thing that is interesting about Clojure versus other languages is that it does not provide standard IO. These two things make it so that it is kind of dependent on its host to complete its offering as a programming language, which means any Clojure compiler will need to provide a mechanism for IO. Those would always differ from Clojures to Clojures, so I don't think that's part of what makes Clojure Clojure. What are others thoughts on this? P.S.: There's no point to this thread, its mostly curiosity. -- 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.