Fork me on GitHub
#lambdaisland
<
2020-02-25
>
plexus15:02:30

two more lambdaisland libraries are in early access, lambdaisland.fetch and lambdaisland.edn-lines

plexus15:02:13

They are two small utility libraries, but maybe you find them useful

borkdude15:02:24

I like the contributor guidelines, I might borrow some of that for my libs

borkdude15:02:59

especially: > write patches that solve a problem. Start by stating the problem, then supply a minimal solution.

borkdude16:02:33

link doesn't work for me, but that idea appeals to me. generally I'm not so much interested in PRs that just shuffle some code around because of subjective style, or add things that have no clearly agreed upon rationale

plexus16:02:37

strange... how about this one? http://rfc.zeromq.org/spec:42

plexus16:02:53

the first link elaborates on the reasoning behind the second

plexus16:02:01

Especially section 2.4 is interesting

borkdude16:02:55

I disagree with a couple of things with the lambdaisland style guide, but that's ok 😉

plexus16:02:30

it's how I like it, and it stops the bike shedding 🙃

borkdude16:02:23

I try not to bikeshed, unless I can explain why something is obviously better (for performance, or otherwise).

borkdude16:02:19

e.g. the merge instead of doing the reader-time map conditional I wouldn't do, because I prefer to have a read-time map instead of a run-time merge

borkdude16:02:33

and rewrite-clj should just be fixed if it has a problem with that

borkdude16:02:48

clj-kondo can deal with it (it has a patched version of rewrite-clj)

borkdude16:02:06

btw, if you're looking for the successor of rewrite-clj, it will probably be this one: https://github.com/lread/rewrite-cljc-playground

borkdude16:02:27

I'm already using it in some projects and so far I haven't heard any complaints... (fwiw)

plexus16:02:46

I'll be very happy to drop that recommendation when more tools have upgraded. It's just something that has bitten me more than once.

👍 4
borkdude16:02:49

I tend to go with the "how to ns" guidelines from Stuart Sierra: https://stuartsierra.com/2016/clojure-how-to-ns.html - there's also linters for that one, but some of the things in your style guide contradict these - which is OK, everyone is entitled to their own taste and linters are configurable 🙂

borkdude16:02:21

cya at ClojureD

plexus16:02:46

which parts contradict? on a quick scan I seem to be largely in agreement with that one, except for the line break after :require etc

borkdude16:02:40

yes, that one. and an exception for :refer :all for clojure.test. I tend to write :refer [deftest is testing] which suffices I think 99.9% of the code I've written

borkdude16:02:17

technomancy (lein) tried to get this into clj-kondo as an exception, but I refused 😆

borkdude16:02:42

CLJS doesn't even accept :refer :all so also in that regard it would just be better to just always skip it and have the same style on each platform

plexus16:02:27

As I said, not going to engage on these topics. We really have better things to spend our time on 🙂

borkdude16:02:51

I know, but you asked which parts contradict, that's why I told you

plexus16:02:39

fair enough 🙂

borkdude16:02:08

(and btw, clj-kondo is even configurable to make an exception for clojure.test if you want ❤️ )

plexus16:02:48

yeah I've been meaning to make a setup to share across lambdaisland projects... one for the backlog