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.

Reply via email to