Clojure/West 2013

Chris Shea.

Clojure/West 2013

Chris Shea

For LispNYC

About me

About Clojure/West

Links

Trending topics

Rich Hickey's talk

Pedestal

Pedestal

Yes, it's a web application framework.

Pedestal provides a better, cohesive way to build rich client web applications in Clojure.

Three cool things about Pedestal.

Events

Chat sample app.

Open this link twice (once in an incognito window).

Remember the JS console!

Interceptors

A different take on Ring middleware.

Ring

Middleware example

Problems with middleware

Interceptors

      (defrecord Interceptor
        [name enter leave error pause resume])
    

What about ring?

App Model

ClojureScript-in-ClojureScript

ClojureScript

ClojureScript is a compiler for Clojure that targets JavaScript.

CLJS compilation as a service

(defmacro unless [expr & body] `(if ~expr nil (do ~@body)))

ClojureScript-in-ClojureScript

ClojureScript-in-ClojureScript is a port of the Clojure parts of the ClojureScript compiler to ClojureScript. Led by Joel Martin.

CLJS in the browser

(defmacro unless [expr & body] `(if ~expr nil (do ~@body)))

What's done (some highlights)

The path to self-hosting

Most things compile except for some tricky macro/var/namespace interactions in core.clj/core.cljs

Joel Martin

After self-hosting

But...

Synthread demo

Thanks