This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-01-15
Channels
- # babashka (13)
- # beginners (37)
- # calva (19)
- # cider (15)
- # clj-kondo (2)
- # clojure (152)
- # clojure-norway (1)
- # clojure-sweden (10)
- # clr (5)
- # emacs (19)
- # honeysql (1)
- # introduce-yourself (19)
- # joyride (1)
- # lsp (4)
- # malli (5)
- # membrane (6)
- # off-topic (11)
- # pathom (18)
- # polylith (13)
- # practicalli (3)
- # releases (4)
- # shadow-cljs (38)
@wilkerlucio i highly recommend adding a big notice to https://github.com/wilkerlucio/pathom readme to say that https://github.com/wilkerlucio/pathom3 exists and you should go there if you're starting with pathom 🙂 also, same thing but on the older doc site
thanks for the pointer, notes add: https://github.com/wilkerlucio/pathom#pathom-3 https://blog.wsscode.com/pathom/v2/pathom/2.2.0/introduction.html#_pathom_3
oh fab thank you @wilkerlucio đź‘Ź
What is the right way to think about pbir/equivalence-resolver
? If it creates a bi-directional transformation, doesn't that kind of imply that it's creating a cycle in the DAG?
hello, good question, indeed they do create a cycle, but thats not really an issue, because pathom planner can detect the cycle and skip it, the idea of a bidirectional link is that in case you have one of the sides available, it can translate it into the other
and to start from it, it could be some provided information, or getting resolved via some other resolver
makes sense?
Hi @wilkerlucio. If I understand correctly, preventing cycles is important when creating and executing the plan, but it's fine to have cycles in the initial available graph?
“preventing cycles is important”, not sure what you mean there
Pathom has cycle detection, but is it also important to avoid creating cycles when writing resolvers?
cycles will happen naturally, its not something you should require special attention
reducing the number of paths for each attribute is encouraged since its gonna help keep paths clean, making planning / running faster
yup, in fact that is exactly what the equivalence resolver is, it makes two alias resolvers, one in each direction
Okay, that simplifies my thinking. I thought it's necessary to pay special attention to make sure that your resolver graph remains a DAG - as in, being careful that you don't define cycles.
no need, the planner will make sure cycles dont happen
and the graph generated by the planner will always be a DAG
tyvm @wilkerlucio, that clears it up for me.
oh fab thank you @wilkerlucio đź‘Ź