This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-05-19
Channels
- # aleph (11)
- # announcements (1)
- # babashka (9)
- # beginners (90)
- # calva (6)
- # clj-kondo (24)
- # cljs-dev (26)
- # clojure (92)
- # clojure-europe (48)
- # clojure-nl (1)
- # clojure-spec (4)
- # clojure-sweden (2)
- # clojure-uk (41)
- # clojurescript (60)
- # code-reviews (1)
- # conjure (6)
- # core-logic (3)
- # datascript (1)
- # datomic (3)
- # deps-new (1)
- # depstar (4)
- # dirac (3)
- # emacs (8)
- # fulcro (1)
- # helix (27)
- # introduce-yourself (2)
- # jobs (1)
- # off-topic (4)
- # pathom (2)
- # polylith (8)
- # re-frame (3)
- # remote-jobs (1)
- # shadow-cljs (5)
- # spacemacs (2)
- # tools-deps (22)
- # vim (3)
- # xtdb (27)
So finished up removing our old java based logging and replacing it with timbre. In doing so I had to read a bit of the source for timbre, which is kind’a interesting. Fairly different from how I write code 🙂 Not passing judgement, just observations.
good morning!
@simongray Like this top-level let
with defs
inside https://github.com/ptaoussanis/timbre/blob/master/src/taoensso/timbre.cljc#L244
wow a let to define private bindings, quite cool
Indentation here https://github.com/ptaoussanis/timbre/blob/master/src/taoensso/timbre.cljc#L337 is somewhat unusual to me?
@slipset let over lambda is a useful pattern, if you want to share data between functions but not necessarily want to expose that data as top-level vars
Playing the devil's advocate: arguably, we only use maps, vectors etc. because our data isn't as regular as we'd like it to be, right? From that perspective, I wouldn't try too hard to be principled about manipulating maps and vectors. Arguably, when you can be principled, your data should be in some kind of relational engine
Playing the devil's advocate: arguably, we only use maps, vectors etc. because our data isn't as regular as we'd like it to be, right? From that perspective, I wouldn't try too hard to be principled about manipulating maps and vectors. Arguably, when you can be principled, your data should be in some kind of relational engine
I find I don't use map-vals
as I'll often want to (into {] (map (fn [[k v]] [k (something-to-v-possibly-based-on-k k v)) my-map)
@otfrom I think you're looking for http://weavejester.github.io/medley/medley.core.html#var-map-kv-vals 🙂
I like it when paredit helps me. I don't like it when paredit prevents me from fixing a mistake.
similar with smartparens
- you have to toggle smartparens-strict-mode
afaik
@mccraigmccraig ah that's the one
so tl;dr: I am using smartparens and I have to disable strict mode to be able to fix it
Maybe @raymcdermott means Calva. Really hard to type that with Calva Paredit. But fixing it is easy. alt+backspace
to delete stuff w/o balance check. And also, a lot of unbalanced stuff you can just backspace
.
I'm assuming Calva is epic, also with Cursive you can easily switch between structural editing between paredit / parinfer / none
Fwiw, with Emacs + paredit, C-u C-d
lets me fix that scenario. As does two lots of M-s
(`paredit-splice-sexp`). No idea about smartparens - I couldn't make it work the same as paredit so gave up on it
lol, C-u 0 C-d
let me unbalance a sexp with smartparens, but also seems to have crashed my emacs 🙈