lambdaisland

plexus 2020-02-25T15:36:30.000700Z

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

plexus 2020-02-25T15:36:46.000900Z

https://github.com/lambdaisland/edn-lines

plexus 2020-02-25T15:36:53.001300Z

https://github.com/lambdaisland/fetch/

plexus 2020-02-25T15:37:13.001700Z

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

borkdude 2020-02-25T15:54:30.002100Z

nice! jet also plays nice with ednl: https://github.com/borkdude/jet#streaming

borkdude 2020-02-25T15:55:24.002600Z

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

borkdude 2020-02-25T15:55:59.003100Z

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

plexus 2020-02-25T16:03:21.003500Z

this is inspired by C4 https://hintjens.gitbooks.io/social-architecture/content/chapter4.html

borkdude 2020-02-25T16:04:33.004300Z

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

plexus 2020-02-25T16:05:37.004500Z

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

plexus 2020-02-25T16:05:53.004900Z

the first link elaborates on the reasoning behind the second

borkdude 2020-02-25T16:06:33.005100Z

works

plexus 2020-02-25T16:08:01.005400Z

Especially section 2.4 is interesting

borkdude 2020-02-25T16:11:07.006300Z

why?

borkdude 2020-02-25T16:11:55.006900Z

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

plexus 2020-02-25T16:12:30.007300Z

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

borkdude 2020-02-25T16:13:23.007900Z

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

borkdude 2020-02-25T16:14:19.008900Z

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

borkdude 2020-02-25T16:14:33.009200Z

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

borkdude 2020-02-25T16:14:48.009500Z

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

borkdude 2020-02-25T16:16:06.010Z

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

borkdude 2020-02-25T16:16:27.010600Z

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

plexus 2020-02-25T16:17:46.011600Z

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.

👍 1
borkdude 2020-02-25T16:28:49.013Z

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 🙂

borkdude 2020-02-25T16:29:21.013300Z

cya at ClojureD

plexus 2020-02-25T16:30:46.014Z

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

borkdude 2020-02-25T16:31:40.015Z

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

borkdude 2020-02-25T16:32:17.015600Z

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

borkdude 2020-02-25T16:32:42.016Z

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

plexus 2020-02-25T16:34:27.016900Z

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

borkdude 2020-02-25T16:34:51.017300Z

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

plexus 2020-02-25T16:35:39.017700Z

fair enough 🙂

borkdude 2020-02-25T16:36:08.018100Z

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

plexus 2020-02-25T16:36:48.018700Z

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