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

Reply via email to