Example usage of tap: https://quanttype.net/posts/2018-10-18-how-i-use-tap.html
I've also briefly read the source code of the datafy namespace (short and easy to understand), and my understanding is that it's currently for one-way transformation of Java Objects into Clojure data through the Datafiable protocol but it will attach the original object as a metadata to the Clojure data produced. My feeling tells me that datafy will be used to transform a clojure.spec object into data... (to avoid breaking the current spec API). I haven't understood the nav function and associated Navigable protocol yet though. On Wednesday, November 7, 2018 at 9:40:28 AM UTC+1, Didier wrote: > > Hum, just noticed tap. Seems really interesting. I'm not thinking of any > concrete usage for now, but I like it! > > Also, is the object in the datafy description referring to a Java object? > If so, is it a way to transform nested Java objects into Clojure data, and > possibly back? > > On Wednesday, 7 November 2018 00:12:44 UTC-8, Khalid Jebbari wrote: >> >> 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.