On 25/02/2015 9:28 p.m., Vlad Levenfeld wrote:
On Wednesday, 21 January 2015 at 22:21:57 UTC, H. S. Teoh wrote:
...
T
Stepanov's book only goes so far as to describe coordinates for
traversing a binary tree, but the extension to n-trees is pretty
straightforward. Have you given any more thought to these topics? I've
built a few of the solutions you mentioned over the last few months but
now I'm working on putting it on more rigorous foundations.
So far its come down to defining a notion of spaces (distinct from
ranges though many structures are both ranges and spaces), classifying
data structures by their topologies (e.g. traversal by links, by
modifying a coordinate and passing it to opIndex, by incrementing and
dereferencing an iterator, etc), and characterizing the various
topology-transforming functors on ranges and spaces (like flattening a
tree into a singly-linked-list or calling .array to transform an input
range into a random-access range), but its pulling me in a lot of
different directions and I'm having a hard time culling the options
down. I do have a nearly complete space package that I use for general
projects, but otherwise nothing too concrete yet; just pages of
scribbled notes.
Anyway this is the topic of my thesis (senior research project for
discrete math) and, since I'm implementing it in D, it would be cool if
some of the work I do can contribute to the ecosystem. If there's
interest I'll keep you apprised of updates and if you're willing I'd
like to pick your brain about use cases and feedback sometime.
If you are able to, create a e.g. github repository with your code /
notes ext.
That way anyone that wants to keep updated can follow it and read the
changes as they happen.
After all, version control isn't just for source code ;)