Alex, it's funny that the example you showed about using the new extension mechanism looks very much like implementing lifecycle hooks in React.js (and the various CLJ/CLJS wrappers).
Indeed having value-based extension makes it much more flexible than having to use deftype/defrecord. My understanding is that since it's based on metadata, one could extend after the fact with `reset-meta!`/`alter-meta!` right? On Tuesday, November 6, 2018 at 2:42:45 PM UTC+1, Alex Miller wrote: > > 1.10.0-beta5 is now available. > > You can try it with clj using: > > clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version > "1.10.0-beta5"}}}' > > Changes in 1.10.0-beta5: > > > - In addition to prior methods of extension, values can now extend > protocols by adding metadata where keys are fully-qualified symbols naming > protocol functions and values are function implementations. Protocol > implementations are checked first for direct definitions (defrecord, > deftype, reify), then metadata definitions, then external extensions > (extend, extend-type, extend-protocol). datafy has been updated to use > this > mechanism. > - `symbol` can now be passed vars or keywords to obtain the > corresponding symbol > - CLJ-2420 <https://dev.clojure.org/jira/browse/CLJ-2420> error > reporting enhancements - more refined phase reporting, new > clojure.main/ex-triage split out of clojure.main/ex-str, execution errors > now report the top *user* line in the stack trace omitting frames from > core, enhancements to providing file and line via meta on a form > - CLJ-2425 <https://dev.clojure.org/jira/browse/CLJ-2425> add java 11 > javadoc url > - CLJ-2424 <https://dev.clojure.org/jira/browse/CLJ-2424> fix test bug > from CLJ-2417 > > You can read the full 1.10 changelog here: > https://github.com/clojure/clojure/blob/master/changes.md > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.