Fork me on GitHub
#clojure-dev
<
2020-07-01
>
dominicm09:07:54

On the old clojure wiki there was a page that detailed some clojure code recommendations, like not extending protocols to types you don't own if you don't own the protocol. It was a list of 30 or so items.

Alex Miller (Clojure team)12:07:09

that particular advice has been cleaned up and moved to the protocol page btw

seancorfield16:07:38

Definite improvement in the wording compared to the original in the Library Coding Standards. I no longer feel like a bad person for what I'm doing in next.jdbc 🙂 And where the library does not own either the protocol or the target (type), the extensions are in an optional namespace that users can choose to use or not (adding Datafiable/`Navigable` to a bunch of Java JDBC types).

dominicm13:07:43

Ah, wonderful thank you.

Alex Miller (Clojure team)13:07:59

since I've written this more times than I care to, I added a faq re keywords like :1 at https://clojure.org/guides/faq#keyword_number

3
👆 3
plexus09:07:04

would it make sense to also add an explanation regarding :/? from what I gathered here (correct me if I'm wrong) it's not a valid keyword, but test.check deliberately does generate it...

seancorfield16:07:38

Definite improvement in the wording compared to the original in the Library Coding Standards. I no longer feel like a bad person for what I'm doing in next.jdbc 🙂 And where the library does not own either the protocol or the target (type), the extensions are in an optional namespace that users can choose to use or not (adding Datafiable/`Navigable` to a bunch of Java JDBC types).