Hmmm... how would that work? I want datafy to work on java.time objects - not Clojure maps (as you showed).

On 30/01/2020 18:37, Christian Gonzalez wrote:
I think you could also add some metadata to allow datafy-ing instead of extending the protocol:

(with-meta {:name "John Doe" :language "us"} {`clojure.core.protocols/datafy (fn [x] ...)})

On Thursday, January 30, 2020 at 10:28:20 AM UTC-8, Jim foo.bar wrote:

    Moreover, following the mailing discussion linked from the
    clojure.org <http://clojure.org> site, leads to the following
    quote from Rich - about 10 years ago :)

    /If a protocol comes with Clojure itself, avoid extending it to
    types //
    //you don't own, especially e.g. java.lang.String and other core
    Java //
    //interfaces. Rest assured if a protocol should extend to it, it
    will, //
    //else lobby for it. /



    On 30/01/2020 17:58, dimitris wrote:

    Well, the official Clojure guidelines are to NOT extend
    protocols, unless you own either the protocol of the type(s) [1].

    In particular these lines:/
    /

    /If you are a library developer, you should not extend if you own
    neither the protocol nor the target./

    /You should take particular care when extending protocols
    included with Clojure itself./

    /
    /

    Kind regards,

    Dimitris

    [1]: https://clojure.org/reference/protocols#_extend_via_metadata
    <https://clojure.org/reference/protocols#_extend_via_metadata>


    On 30/01/2020 17:50, Sean Corfield wrote:

    Is there a reason you’ve mirrored those
    protocols/implementations rather than just use Clojure’s
    built-in versions?

    As it stands, your library wouldn’t work with other tooling that
    builds on Clojure’s datafy/nav (REBL, for example).

    Sean Corfield -- (904) 302-SEAN
    An Architect's View -- http://corfield.org/

    "If you're not annoying somebody, you're not really alive."
    -- Margaret Atwood

    *From: *dimitris <javascript:>
    *Sent: *Thursday, January 30, 2020 9:05 AM
    *To: *Clojure <javascript:>
    *Subject: *Feedback on datafy/nav project

    Hi folks,

    I'm looking for honest and constructive feedback on [1] - not so
    much

    about the actual implementation (even though these are welcome
    too), but

    rather about the general idea of basing everything on top of
    (mirrored

    versions) `datafy` and `nav` (in this way). There is a TL;DR
    section at

    the very bottom that describes the approach in 4 short sentences.

    Many thanks in advance,

    Dimitris

    [1]: https://github.com/jimpil/jedi-time
    <https://github.com/jimpil/jedi-time>

--
    You received this message because you are subscribed to the Google

    Groups "Clojure" group.

    To post to this group, send email to clo...@googlegroups.com
    <javascript:>

    Note that posts from new members are moderated - please be
    patient with your first post.

    To unsubscribe from this group, send email to

    clo...@googlegroups.com <javascript:>

    For more options, visit this group at

    http://groups.google.com/group/clojure?hl=en
    <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 clo...@googlegroups.com <javascript:>.

    To view this discussion on the web visit
    
https://groups.google.com/d/msgid/clojure/d0db9e09-6419-2e13-3a0b-9bacf2bbf4fd%40gmail.com
    
<https://groups.google.com/d/msgid/clojure/d0db9e09-6419-2e13-3a0b-9bacf2bbf4fd%40gmail.com>.

-- You received this message because you are subscribed to the Google
    Groups "Clojure" group.
    To post to this group, send email to clo...@googlegroups.com
    <javascript:>
    Note that posts from new members are moderated - please be
    patient with your first post.
    To unsubscribe from this group, send email to
    clo...@googlegroups.com <javascript:>
    For more options, visit this group at
    http://groups.google.com/group/clojure?hl=en
    <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 clo...@googlegroups.com <javascript:>.
    To view this discussion on the web visit
    
https://groups.google.com/d/msgid/clojure/5e331755.1c69fb81.ff1ad.21cf%40mx.google.com
    
<https://groups.google.com/d/msgid/clojure/5e331755.1c69fb81.ff1ad.21cf%40mx.google.com?utm_medium=email&utm_source=footer>.

--
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 <mailto:clojure+unsubscr...@googlegroups.com>. To view this discussion on the web visit https://groups.google.com/d/msgid/clojure/a0a471ae-c4c6-4b92-86a6-5cefe099bdd7%40googlegroups.com <https://groups.google.com/d/msgid/clojure/a0a471ae-c4c6-4b92-86a6-5cefe099bdd7%40googlegroups.com?utm_medium=email&utm_source=footer>.

--
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/b138e03a-5b3d-2593-36e1-4e985f5fe08c%40gmail.com.

Reply via email to