This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-04-28
Channels
- # asami (13)
- # babashka (6)
- # beginners (38)
- # calva (14)
- # cider (15)
- # circleci (13)
- # clj-kondo (4)
- # cljsrn (18)
- # clojure (164)
- # clojure-bay-area (3)
- # clojure-europe (46)
- # clojure-italy (8)
- # clojure-losangeles (3)
- # clojure-norway (3)
- # clojure-sweden (24)
- # clojure-uk (115)
- # clojurescript (79)
- # cursive (11)
- # datomic (24)
- # docker (2)
- # events (9)
- # figwheel-main (31)
- # fulcro (5)
- # honeysql (6)
- # jackdaw (7)
- # jobs (3)
- # jobs-discuss (16)
- # joker (1)
- # kaocha (6)
- # keechma (1)
- # lein-figwheel (1)
- # malli (6)
- # pathom (10)
- # podcasts-discuss (13)
- # practicalli (3)
- # react (4)
- # reagent (3)
- # reitit (8)
- # remote-jobs (3)
- # shadow-cljs (21)
- # sql (12)
- # tools-deps (20)
- # xtdb (24)
Ah, did not know cloudwatch had that. And, of course, would prefer something not-in-AWS.
it is easier to control the cron job than to build some threads that are run on all nodes of the compute group, but ymmv
I am definitely not syncing threads across all nodes, that seems like an invitation to screw up! I’ll give in to cloudwatch and triggering ions, thank you
Hello. How I can get it work? I got Assert failed: All clauses in 'or' must use same set of vars, had [#{?email ?e} #{?phone ?e}]
[:find ?e
:in $ ?email ?phone ?id
:where
(or [?e :worker/email ?email]
[?e :worker/phone ?phone])
(not [?e :worker/id ?id])]
This way seems to be working
[:find ?e
:in $ ?email ?phone ?id
:where
(or-join [?e ?email ?phone]
[?e :worker/email ?email]
[?e :worker/phone ?phone])
(not [?e :worker/id ?id])]
All “branches/implemenations” of a rule must have the same bindings. If you don’t specify bindings the parser infers them from whatever bindings it sees in each branch. If they don’t match, you get that warning
or-join
(and all -join
variants) say explicitly what bindings there are. implementations that don’t use a binding will just not unify against it, which is what you want here
you want one implementation to unify against email and ignore phone, and the other to do the opposite
Thanks, seems that I meeting this case regulary and forget the rules every time after )
It helps me to think of or*
and and*
as just syntax sugar for rules, and think about the rule I would write
e.g. this would be [[(worker-phone-or-email ?e ?phone ?email) [?e :worker/email ?email]]…]
Saying (worker-phone-or-email ?e ?phone)
for one impl and (worker-phone-or-email ?e ?email)
for the other would be more obviously wrong