• Eric Myhre's avatar
    Start a new synthesis of these drafts. · b03bb1e3
    Eric Myhre authored
    Hopefully to become final.  I'm going to try to copy the contents out
    to the root dir to become the new interfaces at the end of this.
    
    I copied most of the node.go file and it's probably best to read that
    as a diff from the live one.  Mostly, it adds the NodeStyle type
    and the documentation around that.
    
    The nodebuilder.go file still devolved into some commentstorms and
    incomplete parts, but is probably honing in on minimally-unsatisfying
    compromises.
    
    I used a couple symlinks to "copy" the types for Path, etc, from the
    live main package, just to get more things compiling together.
    Those features aren't showing any cracks and aren't up for review due
    to any transitive interactions that are in question, so, this treatment
    is sufficient to move things along.
    
    Links aren't present in the package yet.  I may or may not do some
    reconsiderations on those to match the "style" naming pattern, as the
    'nodestyle' research package already briefly probed; or, it might be
    out of scope and something for later (if at all).  This is a presently
    a compile error until I handle it one way or the other.
    
    The long-story-made-short of the remaining commentstorm is: handling
    map keys generically just absolutely sucks.  There is basically no
    way to do it without massive allocation penalties for boxing.  Any and
    all alternative tradeoffs I can think of are baroque and not pleasing.
    I'm still hoping for another idea to strike, but at this point it's
    looking like it's time to bite some bullet (any bullet) and move on.
    Signed-off-by: default avatarEric Myhre <hash@exultant.us>
    b03bb1e3
nodeBuilder.go 7.34 KB