-
-
Notifications
You must be signed in to change notification settings - Fork 20
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
Principled Setoid and Ord with improved performance #163
Conversation
The new code is problematic: |
This probably means that we'd have to have two completely separate implementations for |
07b4ea4
to
dd4f87d
Compare
6f205a1
to
5646866
Compare
b738613
to
71c9d2a
Compare
Right, so I removed the whole structural deep equality function, which I believe we said (face to face) we should reimplement in a separate package if the need is great enough. |
e130a82
to
b3d831d
Compare
The effect of these changes on performance:
|
If we go this route, this will naturally have to be released as a breaking change. I don't expect many people were using |
Although.. it hasn't been that long ago that |
This comment was marked as resolved.
This comment was marked as resolved.
bf817a9
to
d1884ff
Compare
The new GitHub Markdown syntax for highlighted blockquotes is not compatible with Remark's detection of broken links, and caused false positives. Also we will be removing Remark from the project soon anyway.
This has massive performance benefits for the equals function.
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.
🎉 🎉 🎉
Opened a draft PR for discussion.
See #151 (comment).
Remember we did that thing where we made
Z.equals
more useful by having it fall back to structural equality for garbage inputs (#154)? We ended up with a useful, but unprincipled and slow, equality function. That's fine and all, but I don't like that:Z.equals
, making them slow for no reason.Z.lte
itself, builds on Z.equals.