lynaghk/todoFRP — pull request #4 by dribnet (2013-01-13 06:02:16+00:00)
Title: fixed bug in object -lookup when fetching value nil or false

Hi Kevin - more detail is available in the git commit. It's
a small bug, but probably worth fixing. Also note that a I left a booger
in this commit - a little unit test in case you wanted to refine
what I did - but I didn't know where to stick it. Feel free to strip
it out, etc.

I might borrow that small snippet of code that extends the object
class to implement ILookup - it's clever and just too damn handy!
Especially for destructuring js objects. Check out this snippet
taken from a quick [40 line cljs leaflet map example](http://s.trokes.org/4326898):

```clojure
(let [popup (-> L .popup)]
(.on mappy "click" (fn [{:keys [latlng]} e]
(-> popup (.setLatLng latlng)
(.setContent (str "You clicked the map at " latlng))
(.openOn mappy)))))
```
Sweet.

Incidentally - I've been looking at a complementary approach - metaprogramming
the js form of the cljs data containers (seqs and maps) so that cljs datatypes can
be passed directly to js libraries. My stuff is still being fleshed out, but it might
be fun eventually to compare notes and see if we can sanely metaprogram
from both ends.