-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Simplify dual #7
base: master
Are you sure you want to change the base?
Conversation
The new representation is simpler and should preform faster. Still untested.
This allows accumulation of 'partial' down annotations between concats.
On second thoughts these don't make sense in their derived form.
I've given this and the related pull requests an initial read through and things look good to me. I do think we could use some more comments in the new code. |
TypeOperators, | ||
FlexibleContexts, | ||
DeriveDataTypeable | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why did you remove the other-extensions
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't actually remember. I'll add it back.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK. Of course the specific list of extensions used has probably changed.
Let me know what you think of the updated comments I just pushed. |
Comments look good. |
Don't merge yet. This is a rewrite of the DUAL tree structure.
Changes:
DALTree
andDUALTree
. TheDALTree
is non-empty (except for an emptyConcat
) and does not contain anyu
annotations. TheDUALTree
is eitherEmptyDUAL
or au
annotation with aDALTree
. The structure is also mostly strict, I still need to play with things to see what gives the best performance.u
annotation exclusively at the top simplifies things (loweru
annotations where never used before anyway). Changes to theu
no longer need to propagate does the whole tree.Monoid
.Concat
s. In diagrams this lets you apply, for example, a clipping to multiple diagrams at once.