Joel Martin
 
                     
            HELLO
my name is
Joel Martin
 
                    Principal Software Engineer at LonoCloud
Probably best known for creating noVNC and websockify
 
            A (hopefully temporary) fork of ClojureScript: https://github.com/kanaka/clojurescript
A Port of ClojureScript to ClojureScript
More specifically: A port of the Clojure parts of the ClojureScript compiler to ClojureScript.
 
            The best reason I can give is to show examples of what is possible
 
            
(+ 1 1)
                    
                    
(defn frob [x] (apply + 1 (vals (meta x))))
(frob (with-meta [1 2 3] {:a 10 :b 20 :c 30}))
                    
                    
(defmacro surprise-ending [s f]
    `(lazy-cat ~s (do ~f nil)))
(def things (surprise-ending [1 2 3]
    (println "SURPRISE!"))) nil
                    
                    
(take 2 things)
(take 3 things)
(take 4 things)
(take 4 things)
                    
                     
            ./run.js repl-out/noderepl.js
                time ./shebang.cljs
                    time ./shebang.clj
                mkdir -p out2/cljs
                    cp out/goog.js out2/
                    cp out/cljs/core.cljs # Hack alert
                    ./run.js out/cljsc.js hello.cljs > hello.js
                    ./run2.js hello.js
                 
             
             
                 
                 
                
 
                 
                 
            A chronological rather than functional overview of the process.
 
             
            The beginning: a Clojure/conj hackathon with chouser.
 
             
             
             
             
             
             
             
             
             
            On going work
Most things compile except for some tricky macro/var/namespace interactions in core.clj/core.cljs
The hack: copy the already compiled core.js file and the rest will compile.
 
             
             
             
            Use arrow keys to navigate