LOL, clojure-py is the project I was planning for some time. I'm very glad someone started it first :)
Will be any wiki pages or mailing list any time soon so interest parties could get into current internals and planned roadmap? Thanks, Sanel On Jan 24, 3:37 pm, Timothy Baldridge <tbaldri...@gmail.com> wrote: > > Clojure in Clojure would be a nice start to have e.g. a LLVM frontend. > > But it's really quiet as far as CiC goes, right? > > It should be mentioned that writing a Clojure compiler is not a very > long task it basically comes down to the following tasks: > > 1) Implement the persistent classes (PersistentList, PersistentHashMap, etc.) > 2) Implement the LispReader > 3) Implement the Compiler > 4) Start fixing bugs in core.clj > > About a month ago I started implementing Clojure on the Python VM. > It's still in pre-alpha, but the current system can compile and run > over 500 lines of clojure's core.clj. > (https://github.com/halgari/clojure-py) > > Now, the fun part is adapting the "clojure-jvm way" of doing things to > a system that your tool-chain prefers. So, for instance, in Java we > have Namespace.java to handle namespace creation, and tracking. But in > Python the module system works perfectly fine for us. So > clojure.lang.Namespace doesn't even exist in clojure-py. Other clojure > functions such as "cast" have absolutely no use at all in clojure-py > and are therefore removed. However, other functions like "vec" are > implemented in pure clojure code in clojure-py, while they are > implemented in java code in clojure-jvm > > So next we have to ask a different question, do you want your > clojure-objc compiler to depend on java to run? This is what > clojurescript does. It does not have a compiler written in javascript. > Instead the compiler is written Java, and this compiler outputs > javascript. This means that all clojurescript macros must be > compile-able by clojure-jvm, while the rest of the code has to be > clojurescript compatible. In clojure-py the compiler is written in > python, and is completely independent from clojure-jvm > > Finally you'll need to research how hard it is to get llvm to > interface with the objc runtime. So if I say this in clojure: > > (instance? clojure.lang.IPersistentList x) > > What llvm functions will you call to a) find > clojure.lang.IPersistentList and b) how will you determine the class > of x. > > Some things to think about, > > Timothy -- 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