Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defn stamped [vctr f & args]
- (conj vctr (apply f (assoc (peek vctr) :stamp (java.util.Date.)) args)))
- user=> (def v (atom []))
- #<Var@3af7345b: #<Atom@61128f5a: []>>
- -----
- user=> (swap! v stamped assoc :name "Joe")
- [{:name "Joe", :stamp #<Date Mon Feb 14 12:19:23 EST 2011>}]
- -----
- user=> (swap! v stamped assoc :name "Bob")
- [{:name "Joe", :stamp #<Date Mon Feb 14 12:19:23 EST 2011>}
- {:name "Bob", :stamp #<Date Mon Feb 14 12:19:28 EST 2011>}]
- -----
- user=> (swap! v stamped assoc :last_name "Smith")
- [{:name "Joe", :stamp #<Date Mon Feb 14 12:19:23 EST 2011>}
- {:name "Bob", :stamp #<Date Mon Feb 14 12:19:28 EST 2011>}
- {:last_name "Smith",
- :name "Bob",
- :stamp #<Date Mon Feb 14 12:19:41 EST 2011>}]
Add Comment
Please, Sign In to add comment