Fork me on GitHub
#rewrite-clj
<
2019-09-12
>
sogaiu22:09:41

@lee been trying to wrap my head around defprotocol+ - if you don't mind me asking, why do you think this is used over vanilla defprotocol in rewrite-clj? the original docs say: a protocol that won't evaluate if an equivalent protocol with the same name aleady exists. the version in rewrite-clj is a simpler version, right?

lread22:09:38

@sogaiu I remember asking myself the very same question and came to the foggy conclusion that it is just a performance optimization. I can’t tell you if it is still necessary but we could someday do perf tests with and without it to see what it gives us. For cljs it is currently a no-op.

sogaiu22:09:50

i experimentally removed all of potemkin except defprotocol+ the other day when trying to get proto-rewrite-cljc to work with babashka the other day, so may be i can try without deprotocol+ too.

lread22:09:53

well rewrite-clj uses defprotocol+ as well. I’m guessing it might be the edn reader I am using that is causing graal problems, but that is just a wild guess.

sogaiu22:09:48

thanks for the guess - it can help to have something concrete to start from :)

lread22:09:33

I’d join you in your experiment, it seems like a fun exploration, but I am currently distracted by cljdoc and diffing apis. simple_smile

sogaiu22:09:58

np - hope that is going well :)

lread22:09:41

yep! all roads lead out from rewrite-cljc, hopefully they also lead back!