-
Notifications
You must be signed in to change notification settings - Fork 45
Support joins on prefixes of arbitrary length #48
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
Draft
ecstatic-morse
wants to merge
18
commits into
rust-lang:master
Choose a base branch
from
ecstatic-morse:tuple
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
2aa3b2f
Remove `Ord` bounds on types
ecstatic-morse fbcc77a
Remove more unnecessary bounds
ecstatic-morse 606dc20
Replace `RelationLeaper` with methods on `Relation`
ecstatic-morse bafa50c
Add trait for tuple splitting
ecstatic-morse 3dc974b
Remove unnecessary `JoinInput` bounds
ecstatic-morse 87e20cf
Remove redundant `JoinInput` impl
ecstatic-morse e227863
leap by-value
ecstatic-morse 3fcd2a3
Support joins on arbitrary prefixes
ecstatic-morse 22e1b54
Support antijoins on arbitrary prefixes
ecstatic-morse 1215e3b
Update examples with new interface
ecstatic-morse baa70da
Unwrap unary tuple suffixes
ecstatic-morse 52956a1
Update examples with unary suffixes unwrapped
ecstatic-morse 3a76f3d
Update tests with new join/antijoin interface
ecstatic-morse b929adf
Overhaul `ExtendWith` to support arbitrary prefixes
ecstatic-morse 4ee0e4a
Overhaul `ExtendAnti` to support arbitrary prefixes
ecstatic-morse e28a0d4
Remove `(K, V)` shape requirement from `Filter{With,Anti}`
ecstatic-morse 4917246
Add `from_join_first` methods to help with 1-tuple prefixes
ecstatic-morse 29cf1e2
Update tests/examples to use `from_join_first`
ecstatic-morse File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Some of these are redundant now, although this is partly because it was written without
leapjoin
.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 think Frank initially had these more like documentation of how to use the API than really optimal, runnable examples. There are docs and doctests for leapjoins IIRC so it's not terrible that this example doesn't use them. Don't feel obligated to update them.
We could have that as a "good first issue" "help wanted" issue if some contributor wanted to try and clean that up. It would teach them a bit about the API, contrast the example with the polonius analyses, and so on.
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.
A better example might switch
requires
to have the same layout asrequires_rp
orrequires_bp
and reorder it at the end. Without that and without leapjoin (which I agree doesn't really belong here), I think the current version is optimal.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 guess maybe having a single iteration instead of two, or actually feeding input facts into the computation, and so on, could turn it into a slightly more realistic example if someone wanted to do so.
As for the other example,
graspan1
, I think there were some input facts in one of Franks's blog posts a few years back.