{"action":"created","issue":{"url":"https://api.github.com/repos/non/spire/issues/577","repository_url":"https://api.github.com/repos/non/spire","labels_url":"https://api.github.com/repos/non/spire/issues/577/labels{/name}","comments_url":"https://api.github.com/repos/non/spire/issues/577/comments","events_url":"https://api.github.com/repos/non/spire/issues/577/events","html_url":"https://github.com/non/spire/pull/577","id":176591265,"number":577,"title":"Overlap operation for Intervals","user":{"login":"vpavkin","id":410508,"avatar_url":"https://avatars.githubusercontent.com/u/410508?v=3","gravatar_id":"","url":"https://api.github.com/users/vpavkin","html_url":"https://github.com/vpavkin","followers_url":"https://api.github.com/users/vpavkin/followers","following_url":"https://api.github.com/users/vpavkin/following{/other_user}","gists_url":"https://api.github.com/users/vpavkin/gists{/gist_id}","starred_url":"https://api.github.com/users/vpavkin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vpavkin/subscriptions","organizations_url":"https://api.github.com/users/vpavkin/orgs","repos_url":"https://api.github.com/users/vpavkin/repos","events_url":"https://api.github.com/users/vpavkin/events{/privacy}","received_events_url":"https://api.github.com/users/vpavkin/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-09-13T09:22:52Z","updated_at":"2016-09-13T11:20:22Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/non/spire/pulls/577","html_url":"https://github.com/non/spire/pull/577","diff_url":"https://github.com/non/spire/pull/577.diff","patch_url":"https://github.com/non/spire/pull/577.patch"},"body":"Following [gitter discussion](https://gitter.im/non/spire?at=57d6ff2fa0e8dbb04f308eab), I'm proposing a rich overlap operation for Intervals.\r\n\r\nFor any two Intervals `x` and `y`, overlap operation can return one of the following:\r\n\r\n- `StrictlyLess(x , y)`, meaning that both are nonEmpty, `x ∩ y = Ø` and `x.upperBound < y.lowerBound`. Example: `(0, 1)` and `[3, 4]`.\r\n- `LessAndOverlap(x , y)`. Partial overlap: both are nonEmpty, `y ∋ x.upperBound` && `y ∌ x.lowerBound`. Example: `[0, 4)` and `[3, 5)`\r\n- `Subset(x, y)`, meaning `x` is a subset of `y` (including `x = Ø`).\r\n- Any of the previous with `x` and `y` switched.\r\n- `Equals(x, y)`, meaning `x` is equal to `y`\r\n\r\nAlso added `Eq` instances for `Bound` and `Overlap`.\r\n\r\nP.S. Not sure, if actual overlap implementation is the best one performance-wise, advice is welcome :)"},"comment":{"url":"https://api.github.com/repos/non/spire/issues/comments/246650858","html_url":"https://github.com/non/spire/pull/577#issuecomment-246650858","issue_url":"https://api.github.com/repos/non/spire/issues/577","id":246650858,"user":{"login":"codecov-io","id":8655789,"avatar_url":"https://avatars.githubusercontent.com/u/8655789?v=3","gravatar_id":"","url":"https://api.github.com/users/codecov-io","html_url":"https://github.com/codecov-io","followers_url":"https://api.github.com/users/codecov-io/followers","following_url":"https://api.github.com/users/codecov-io/following{/other_user}","gists_url":"https://api.github.com/users/codecov-io/gists{/gist_id}","starred_url":"https://api.github.com/users/codecov-io/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codecov-io/subscriptions","organizations_url":"https://api.github.com/users/codecov-io/orgs","repos_url":"https://api.github.com/users/codecov-io/repos","events_url":"https://api.github.com/users/codecov-io/events{/privacy}","received_events_url":"https://api.github.com/users/codecov-io/received_events","type":"User","site_admin":false},"created_at":"2016-09-13T11:20:22Z","updated_at":"2016-09-13T11:20:22Z","body":"## [Current coverage](https://codecov.io/gh/non/spire/pull/577?src=pr) is 48.93% (diff: 67.44%)\n> Merging [#577](https://codecov.io/gh/non/spire/pull/577?src=pr) into [master](https://codecov.io/gh/non/spire/branch/master?src=pr) will decrease coverage by **<.01%**\n\n```diff\n@@             master       #577   diff @@\n==========================================\n  Files           152        153     +1   \n  Lines         10013      10057    +44   \n  Methods        9039       9064    +25   \n  Messages          0          0          \n  Branches        935        955    +20   \n==========================================\n+ Hits           4900       4921    +21   \n- Misses         5113       5136    +23   \n  Partials          0          0          \n```\n\n> Powered by [Codecov](https://codecov.io?src=pr). Last update [f86dfda...2a745b3](https://codecov.io/gh/non/spire/compare/f86dfda4fb3029f23c023c940ea61dde51e4a0f1...2a745b3cb1de4e7b382dede4415422bf99941517?src=pr)"}}
{"actor":{"display_login":"codecov-io"}}