This is the third post in the Sneak Preview series. Much of the history of the ClojureScript compiler can be characterized by the themes of pragmatic expediency, followed by successive refinement. This is nicely illustrated by the history of aget. The first minimum viable implementation of aget was a simple function. Six years ago it looked like this: (defn aget [array i] (js* "return ~{array}[~{i}]")) This employs the internal js* special form to directly emit JavaScript which uses subscript...