Oh that's very interresting, so in some way you *are* also decoupling 
ClojureScript backend from it's parse and analysis components ! But 
doing so in a separate project, and in a more ambitious form than 
what i proposed in my application. 

Maybe there is a possibility of pairing the projects ? It would be nice 
to have David Nolen feedback about that.

Anyway, i'm gonna spend some more time studying your CinC code, and
i will probably get back to you with numerous questions :)
If you have any comments or corrections that you'd think may be nice for the
GSOC applications, i'd be very happy !

On Wednesday, April 4, 2012 2:52:16 PM UTC+2, Aaron Cohen wrote:
>
> 2012/4/4 Raphaël AMIARD:
> > Hi Aaron !
> >
> > Those application are intended for submission on the google summer of 
> code
> > site. I think both Clojure developer and google will eventually get them 
> if
> > i understood the system right.
> >
> > Thank you very much for the editing help proposition, it would be 
> terribly
> > helpful, since i'm not used to write long prose in english :) The 
> markdown
> > source for the applications is disponible on my github pages repository. 
> A
> > lot of the text is shared between the two applications.
> >
> > I'm gonna look more seriously into the ClojureScript to gambit scheme
> > compiler, but from a preliminary look, it seems like there is mostly the
> > emit function/methods changing, like i thought. It would be interresting 
> to
> > modularize the backend in clojurescript, and then modify clojure-scheme 
> to
> > fit the new modular backend scheme.
> >
> > I have more trouble understanding the CinC project. Is it an attempt to 
> port
> > the Clojure java compiler to clojure ? I'm gonna look at the code more
> > closely this afternoon.
>
> Yes, one way of looking at CinC would be as porting the clojure java
> compiler to be a "backend" to the clojurescript compiler. I started by
> extracting the analyzer from clojurescript and removing several
> assumptions it was making about cljs. I then moved the compiler into
> clojure.java.compiler and started porting over the java compiler to
> the same multimethod framework. Outputting java requires more type
> information than outputting javascript, that's all calculated by
> walking the ast in clojure.java.compiler/ast.clj
>
>  Eventually (that's such a loaded word, it's very dependent on the
> amount of time I have to work on it), once I finish the "java" backend
> I'd like to add back the javascript one. In my scheme it would end up
> somewhere like "clojure.js.compiler" and basically just be the emit
> multimethods from cljs moved.
>
> My todos:
>   1) Finish porting over the remaining special forms (I have try/catch
> mostly working locally, just need to finish it and push it out)
>   2) Verify that I can compile core.clj "from nothing". Currently I'm
> cheating by just copying the defs from the bootstrap compiler, the
> target compiler should be able to build all its functionality just by
> compiling core.clj just like the current one does
>   3*) Move protocols "to the bottom". There are a few places where
> I've kept the assumptions of the current compiler about how FNs extend
> abstract classes using inheritance. It would be nice to be more like
> clojurescript here, only using protocols and deftype rather than
> Interfaces and inheritance.
>   4*) Write nice deftype based implementations of the persistent
> datastructures. This is probably a worthy GSoC task of its own and it
> would help clojurescript even without my project
>   5*) Add clojurescript back as target of the CinC compiler.
>   6*) It would also be neat to look at some of the other compilers
> that have been popping up (rpython, scheme) and see if they would work
> as CinC backends
>
>

-- 
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