Simplify dual - #87
Conversation
Up annotations have changed because they no longer need Deleteable or MList. There's are now valid traversals over the up annotations of a diagram (before they where invalid lenses) query is now also a traversal. DNode and RNode have been removed, folding a DUALTree is now done in a single pass. There's foldDia and foldDia' folding functions.
|
I'm not 100% about the primed versions ( I think I'll wait on matrix transforms until this is merged. |
|
The docs for |
|
Monoidal :) Always mix them up when I type them. |
There was a problem hiding this comment.
I think this (and the primed version below) needs a Haddock comment.
There was a problem hiding this comment.
Sure. I'm still debating whether or not to export them (I'm currently not).
|
Getting rid of |
|
Yes, this is a potential problem. I actually (tried to) touch on the problem with rebuilding up annotations a little in #39 but never came up with a solution. I need to think about this a bit more. |
|
What is the status of this branch? |
|
It looks like a lot of the simplifying to |
|
So I've been thinking about this a bit and I can't come up with a solution I'm happy with. It's becoming clear to me that traversals over sub diagrams is not simple. There's a couple of options I can see:
I just had an idea of adding another option to the dual tree to allow modifying the which would (I think) let us satisfy setter laws (but not the lens laws) and remove I've started another branch with |
Don't merge yet. See diagrams/dual-tree#7.
Up annotations have changed because they no longer need
DeleteableorMList. There's are now valid traversals over the up annotations of a diagram (before they where invalid lenses) query is now also a traversal.DNodeandRNodehave been removed, folding aDUALTreeis now done in a single pass usingfoldDiaandfoldDia'folding functions.