Pathom Updates 2 - Planner Debugger
October 26, 2020
EQL Process
A small update on this, the interface to trigger EQL shape resolution now can take also the initial context map for convenience:
(p.eql/process env {:customer/id 123} [:customer/full-name])
Smart Maps
A small change on the CLJS side, now smart maps print like normal maps.
Planner Debugger
The planner in Pathom is responsible for figure which resolvers to call, in which order, given the user request.
Depending on how complicated the input/output relationship is, the plan can get complicated.
When it does, a debugger tool can save hours of work. Last week while I was playing with Pathom 3, I had one of those situations. I had the resolvers right, but the planner was doing the wrong plan. So I thought it was time to start this tool, and this is what it looks like (this tool is in a very early stage still):
Legends:
- Gray circle: resolver call
- Yellow circle: AND node, calls every node connected with an orange line
- Black connection: run after
- Blue border: root node
The slider controls the plan building up process. You see how Pathom traverses the indexes to get the execution graph. I wanted to share because I think this looks pretty cool!
This tool will be available for users eventually.
Documentation Status
Since last week I add a Getting Started
page, which glosses over the main concept of
attribute modeling in Pathom. In the How Pathom Works
section, we now have the Indexes
and the Shape Descriptor
pages written.
- Getting Started
- Rationale
- Tutorial
- Using Pathom
- Resolvers
- Built-in resolvers
- Smart Maps
- EQL
- Environment
- Modeling Guides
- How Pathom Works
- Indexes
- Planner
- Runner
- Shape Descriptor
That’s it for this update. See you at the next one!
Follow closer
If you like to know in more details about my projects check my open Roam database where you can see development details almost daily.
Support my work
I'm currently an independent developer and I spent quite a lot of my personal time doing open-source work. If my work is valuable for you or your company, please consider supporting my work though Patreon, this way you can help me have more available time to keep doing this work. Thanks!
Current supporters
And here I like to give a thanks to my current supporters: