This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-04-04
Channels
- # announcements (2)
- # babashka (7)
- # beginners (168)
- # boot (8)
- # cider (10)
- # clara (1)
- # clj-kondo (19)
- # cljdoc (8)
- # cljs-dev (16)
- # clojars (1)
- # clojure (208)
- # clojure-europe (10)
- # clojure-germany (1)
- # clojure-losangeles (1)
- # clojure-uk (56)
- # clojurescript (63)
- # conjure (23)
- # core-typed (2)
- # cursive (5)
- # data-science (1)
- # datomic (35)
- # emacs (1)
- # exercism (58)
- # graalvm (2)
- # graphql (1)
- # jobs (3)
- # kaocha (1)
- # lambdaisland (2)
- # malli (19)
- # meander (5)
- # off-topic (2)
- # pathom (25)
- # pedestal (3)
- # reagent (53)
- # reitit (4)
- # remote-jobs (2)
- # shadow-cljs (26)
- # spacemacs (3)
- # sql (22)
- # tools-deps (17)
Trying to up my meander game.:
(m/rewrite {:g1 [{:k :a :v 1} {:k :b :v 2}]
:g2 [{:k :b :v 2} {:k :a :v 1}]}
(m/and
{:g1 (m/seqable {:k !k :v !v1} ...)
:g2 (m/seqable {:k !k :v !v2} ...)})
[!k (m/app + !v1 !v2) ...])
I'd like the result to be [:a 2 :b 4
but meander is walking the two seqs independently. How do I get a join on :k ?(m/rewrite {:g1 [{:k :a :v 1} {:k :b :v 2}]
:g2 [{:k :b :v 2} {:k :a :v 1} {:k :b :v 3}]}
{:g1 (m/seqable !g1s ...)
:g2 (m/seqable !g2s ...)}
(m/cata [!g1s ... !g2s ...])
[] []
(m/with [%m {:k ?k
:v !v}]
[%m . (m/or %m !not-m) ...])
[?k ~(reduce + !v) & (m/cata [!not-m ...])])
;; =>
[:a 2 :b 7]
Thanks!