or learn more

Compiling Clojure to JavaScript, pt. 3 – The Himera Model

Mar 27, 2012 some comments

this is the fourth entry in an n-part series explaining the compilation techniques of Clojure. translations: [日本語] When ClojureScript was first announced there was much gnashing of teeth over the fact that it provided neither eval, nor runtime macros. In response, I did tackle the matter of eval, but code speaks louder than words, so […]

Clojure Conj 2011 – Learning more pt.1

Feb 1, 2012 one comment

By my measure, the second Clojure Conj was a smashing success. I wrote summaries of the mainline Conj activities and the unconference activities if you need some context. The amount of brain power on tap at the conference was intoxicating. In an attempt to present a feel for the topics of discussion in the lecture […]

Programming language development: the past 5 years

Oct 18, 2011 some comments

I recently compiled a list of Perlis Languages that were meant to illustrate varying paradigms not typically found in mainstream programming languages. Those languages were meant to stretch your mind and are not necessarily representative of the state of the art in language design and implementation. In this post I will provide a list of […]

ClojureScript watchers and validators

Sep 23, 2011 some comments

Thanks to some nice work by Bobby Calderwood ClojureScript now has Atom validators and watchers. Some commentary below: Setting a validator Placing a validator on an Atom is as easy as: (def A (atom 0 :validator (fn [new-val] (== 0 new-val)))) @A ;=> 0 (swap! A inc) ;; AssertionError @A ;=> 0 As you see, […]

Compiling Clojure to JavaScript, pt. 2 – Why No Eval?

Jul 29, 2011 some comments

By excluding eval the Clojure/core team was not acting miserly, but instead had valid reasons for its exclusion. This post will go over why eval was excluded and why it may never see the light of day in the core distribution.

Continue << >>