{"action":"created","issue":{"url":"https://api.github.com/repos/apple/swift-evolution/issues/447","repository_url":"https://api.github.com/repos/apple/swift-evolution","labels_url":"https://api.github.com/repos/apple/swift-evolution/issues/447/labels{/name}","comments_url":"https://api.github.com/repos/apple/swift-evolution/issues/447/comments","events_url":"https://api.github.com/repos/apple/swift-evolution/issues/447/events","html_url":"https://github.com/apple/swift-evolution/pull/447","id":166505312,"number":447,"title":"Proposal: Rationalizing Sequence end-operation names","user":{"login":"brentdax","id":931226,"avatar_url":"https://avatars.githubusercontent.com/u/931226?v=3","gravatar_id":"","url":"https://api.github.com/users/brentdax","html_url":"https://github.com/brentdax","followers_url":"https://api.github.com/users/brentdax/followers","following_url":"https://api.github.com/users/brentdax/following{/other_user}","gists_url":"https://api.github.com/users/brentdax/gists{/gist_id}","starred_url":"https://api.github.com/users/brentdax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brentdax/subscriptions","organizations_url":"https://api.github.com/users/brentdax/orgs","repos_url":"https://api.github.com/users/brentdax/repos","events_url":"https://api.github.com/users/brentdax/events{/privacy}","received_events_url":"https://api.github.com/users/brentdax/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":11,"created_at":"2016-07-20T06:26:59Z","updated_at":"2016-07-22T18:54:42Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apple/swift-evolution/pulls/447","html_url":"https://github.com/apple/swift-evolution/pull/447","diff_url":"https://github.com/apple/swift-evolution/pull/447.diff","patch_url":"https://github.com/apple/swift-evolution/pull/447.patch"},"body":"This proposal suggests renaming or redesigning many APIs which operate on the beginning or end of a Sequence or Collection, with the goal of producing coherently-named method families. In summary:\r\n\r\n* `c.drop…` becomes `c.removing…`\r\n* `c.…First/Last(n)` become `c.…Prefix/Suffix(n)`\r\n* `c.starts(with: prefix…)` becomes `c.hasPrefix(prefix…)`\r\n* `c.index(of: elem/where: isCond)` becomes `c.firstIndex(of: elem/where: isCond)`\r\n* `c.prefix(upTo: i)`, `c.prefix(through: i)`, and `c.suffix(from: i)` become `c[..<i]`, `c[...i]`, and `c[i..<]`\r\n\r\nTo support that last change, this proposal includes new `IncompleteRange` and `IncompleteClosedRange` types and operators to construct them; it is otherwise not additive.\r\n\r\n(@dabrahams suggested reducing the number of subscript overloads using a `RangeExpression` protocol, but when writing a prototype I realized this would require generic subscripts. Next year!) "},"comment":{"url":"https://api.github.com/repos/apple/swift-evolution/issues/comments/234626649","html_url":"https://github.com/apple/swift-evolution/pull/447#issuecomment-234626649","issue_url":"https://api.github.com/repos/apple/swift-evolution/issues/447","id":234626649,"user":{"login":"rudkx","id":162784,"avatar_url":"https://avatars.githubusercontent.com/u/162784?v=3","gravatar_id":"","url":"https://api.github.com/users/rudkx","html_url":"https://github.com/rudkx","followers_url":"https://api.github.com/users/rudkx/followers","following_url":"https://api.github.com/users/rudkx/following{/other_user}","gists_url":"https://api.github.com/users/rudkx/gists{/gist_id}","starred_url":"https://api.github.com/users/rudkx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rudkx/subscriptions","organizations_url":"https://api.github.com/users/rudkx/orgs","repos_url":"https://api.github.com/users/rudkx/repos","events_url":"https://api.github.com/users/rudkx/events{/privacy}","received_events_url":"https://api.github.com/users/rudkx/received_events","type":"User","site_admin":false},"created_at":"2016-07-22T18:54:42Z","updated_at":"2016-07-22T18:54:42Z","body":"I we might be getting confused over the generic parameter ``Bound`` from CountableRange vs. the ``associatedtype Bound`` from RangeExpression."}}
{"actor":{"display_login":"rudkx"}}