{"action":"created","issue":{"url":"https://api.github.com/repos/javaslang/javaslang/issues/1332","repository_url":"https://api.github.com/repos/javaslang/javaslang","labels_url":"https://api.github.com/repos/javaslang/javaslang/issues/1332/labels{/name}","comments_url":"https://api.github.com/repos/javaslang/javaslang/issues/1332/comments","events_url":"https://api.github.com/repos/javaslang/javaslang/issues/1332/events","html_url":"https://github.com/javaslang/javaslang/issues/1332","id":154879868,"number":1332,"title":"Add Java-like Value.collect() methods to increase interoperability","user":{"login":"danieldietrich","id":743833,"avatar_url":"https://avatars.githubusercontent.com/u/743833?v=3","gravatar_id":"","url":"https://api.github.com/users/danieldietrich","html_url":"https://github.com/danieldietrich","followers_url":"https://api.github.com/users/danieldietrich/followers","following_url":"https://api.github.com/users/danieldietrich/following{/other_user}","gists_url":"https://api.github.com/users/danieldietrich/gists{/gist_id}","starred_url":"https://api.github.com/users/danieldietrich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danieldietrich/subscriptions","organizations_url":"https://api.github.com/users/danieldietrich/orgs","repos_url":"https://api.github.com/users/danieldietrich/repos","events_url":"https://api.github.com/users/danieldietrich/events{/privacy}","received_events_url":"https://api.github.com/users/danieldietrich/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/javaslang/javaslang/labels/feature","name":"feature","color":"009800"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/javaslang/javaslang/milestones/20","html_url":"https://github.com/javaslang/javaslang/milestones/2.1.0","labels_url":"https://api.github.com/repos/javaslang/javaslang/milestones/20/labels","id":1294243,"number":20,"title":"2.1.0","description":"Boost up collection performance","creator":{"login":"danieldietrich","id":743833,"avatar_url":"https://avatars.githubusercontent.com/u/743833?v=3","gravatar_id":"","url":"https://api.github.com/users/danieldietrich","html_url":"https://github.com/danieldietrich","followers_url":"https://api.github.com/users/danieldietrich/followers","following_url":"https://api.github.com/users/danieldietrich/following{/other_user}","gists_url":"https://api.github.com/users/danieldietrich/gists{/gist_id}","starred_url":"https://api.github.com/users/danieldietrich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danieldietrich/subscriptions","organizations_url":"https://api.github.com/users/danieldietrich/orgs","repos_url":"https://api.github.com/users/danieldietrich/repos","events_url":"https://api.github.com/users/danieldietrich/events{/privacy}","received_events_url":"https://api.github.com/users/danieldietrich/received_events","type":"User","site_admin":false},"open_issues":58,"closed_issues":52,"state":"open","created_at":"2015-09-07T18:46:28Z","updated_at":"2016-06-04T06:29:17Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2016-05-14T22:56:24Z","updated_at":"2016-06-07T06:03:07Z","closed_at":null,"body":"`java.util.stream.Stream` has:\r\n\r\n* [`collect(Collector<? super T,A,R> collector)`](https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html#collect-java.util.stream.Collector-)\r\n* [`collect(Supplier<R> supplier, BiConsumer<R,? super T> accumulator, BiConsumer<R,R> combiner)`](https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html#collect-java.util.function.Supplier-java.util.function.BiConsumer-java.util.function.BiConsumer-)\r\n\r\nWhen we add these as `default` methods to `javaslang.Value`, Javaslang types will be _✨automagically✨_ convertible to **all libraries** that are built on top of `java.util.stream.Stream` (e.g. [jooq/jool](https://github.com/jOOQ/jOOL), [amaembo/streamex](https://github.com/amaembo/streamex), ...), but more important this allows us to re-use user-defined aggregation functions based on Collectors.\r\n\r\nBecause this is a conversion method, we implement it in `Value` (or `Convertible`) rather than in `Traversable`. `Iterator` will benefit from it because in a future Javaslang version `Iterator` will not extend `Traversable` any more (see [#1295](https://github.com/javaslang/javaslang/issues/1295#issuecomment-213835541))."},"comment":{"url":"https://api.github.com/repos/javaslang/javaslang/issues/comments/224187271","html_url":"https://github.com/javaslang/javaslang/issues/1332#issuecomment-224187271","issue_url":"https://api.github.com/repos/javaslang/javaslang/issues/1332","id":224187271,"user":{"login":"mvh77","id":15170363,"avatar_url":"https://avatars.githubusercontent.com/u/15170363?v=3","gravatar_id":"","url":"https://api.github.com/users/mvh77","html_url":"https://github.com/mvh77","followers_url":"https://api.github.com/users/mvh77/followers","following_url":"https://api.github.com/users/mvh77/following{/other_user}","gists_url":"https://api.github.com/users/mvh77/gists{/gist_id}","starred_url":"https://api.github.com/users/mvh77/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mvh77/subscriptions","organizations_url":"https://api.github.com/users/mvh77/orgs","repos_url":"https://api.github.com/users/mvh77/repos","events_url":"https://api.github.com/users/mvh77/events{/privacy}","received_events_url":"https://api.github.com/users/mvh77/received_events","type":"User","site_admin":false},"created_at":"2016-06-07T06:03:07Z","updated_at":"2016-06-07T06:03:07Z","body":"I'm not really against it and I thought about it myself some time ago, but it's a bit bloaty in my opinion since you can do without and it's something you need very rarely. And btw, Option is a kind of collection! :wink: "}}
{"actor":{"display_login":"mvh77"}}