two more lambdaisland libraries are in early access, lambdaisland.fetch
and lambdaisland.edn-lines
They are two small utility libraries, but maybe you find them useful
nice! jet also plays nice with ednl: https://github.com/borkdude/jet#streaming
I like the contributor guidelines, I might borrow some of that for my libs
especially: > write patches that solve a problem. Start by stating the problem, then supply a minimal solution.
this is inspired by C4 https://hintjens.gitbooks.io/social-architecture/content/chapter4.html
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
strange... how about this one? http://rfc.zeromq.org/spec:42
the first link elaborates on the reasoning behind the second
works
Especially section 2.4 is interesting
why?
I disagree with a couple of things with the lambdaisland style guide, but that's ok 😉
it's how I like it, and it stops the bike shedding 🙃
I try not to bikeshed, unless I can explain why something is obviously better (for performance, or otherwise).
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
and rewrite-clj should just be fixed if it has a problem with that
clj-kondo can deal with it (it has a patched version of rewrite-clj)
btw, if you're looking for the successor of rewrite-clj, it will probably be this one: https://github.com/lread/rewrite-cljc-playground
I'm already using it in some projects and so far I haven't heard any complaints... (fwiw)
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.
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 🙂
cya at ClojureD
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
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
technomancy (lein) tried to get this into clj-kondo as an exception, but I refused 😆
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
As I said, not going to engage on these topics. We really have better things to spend our time on 🙂
I know, but you asked which parts contradict, that's why I told you
fair enough 🙂
(and btw, clj-kondo is even configurable to make an exception for clojure.test if you want ❤️ )
yeah I've been meaning to make a setup to share across lambdaisland projects... one for the backlog