The Graphviz plugin uses markup to explore a region of federated wiki. A "visitor" algorithm evaluates the tree-structured markup breadth-first in the hope of overlapping page fetches. Here we wonder if this optimization is a misuse of promises.
We will attempt to duplicate in Solo the "over the horizon" diagrams Thompson uses to fine tune the focus of his writing. We will start with one example.
As we explore musical improvisation, we listen to the words of Jerry Garcia as he talks about about magical moments, wondering about their deeper nature.
DOT strict digraph rankdir=LR node [style=filled fillcolor=lightyellow penwidth=3 color=black fontname="Helvetica"] HERE NODE node [style=filled fillcolor=lightblue] WHERE /^Next/ LINKS HERE -> NODE node [style=filled fillcolor=white] HERE NODE WHERE /^Next/ LINKS HERE -> NODE node [style=filled fillcolor=white penwidth=3 color=black] LINKS HERE -> NODE node [style=filled fillcolor=white penwidth=1 color=black] HERE NODE LINKS HERE -> NODE node [style="filled,rounded,dotted" fillcolor=white] edge [style=dotted] HERE NODE BACKLINKS NODE -> HERE
Try Here
http://ward.dojo.fed.wiki/assets/pages/visitor-revisited/script.html HEIGHT 350
We consider queueing multiple requests against a single promise and confirm that this works as we anticipate.
http://ward.dojo.fed.wiki/assets/pages/visitor-revisited/many.html HEIGHT 80
The depth, but not the breadth, of our traversal is bound by the nesting depth of our markup.
The LINK markup introduces multiple titles in one evaluation. We wish to suspend further traversal required of each title, if any, until the correct corresponding page has been retrieved.
The correct resolution of a title depends on the page context which means a title alone may not represent the same promise based on site and slug.
We know the title of a page before we know the contents of a page. We wish to maximally overlap the fetching the pages that correspond to titles.