Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-10 Thread Viktor Klang
On Fri, 10 Nov 2023 09:38:51 GMT, Tagir F. Valeev wrote: >> Viktor Klang has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - Addressing review feedback >> - Make Gatherer.andThen take a wildcard for the rhs Gatherer state type > >

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-10 Thread Tagir F . Valeev
On Wed, 8 Nov 2023 21:08:03 GMT, Viktor Klang wrote: >> This Pull-Request implements [JEP-461](https://openjdk.org/jeps/461) > > Viktor Klang has updated the pull request incrementally with two additional > commits since the last revision: > > - Addressing review feedback > - Make

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Viktor Klang
On Thu, 9 Nov 2023 14:41:10 GMT, Alan Bateman wrote: >> Viktor Klang has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - Addressing review feedback >> - Make Gatherer.andThen take a wildcard for the rhs Gatherer state type > >

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Viktor Klang
On Thu, 9 Nov 2023 12:37:30 GMT, Per Minborg wrote: >> Which parameters? The type parameters or the method parameters? > > Here is an example: > > > static Collector of(Supplier supplier, > BiConsumer accumulator, >

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Viktor Klang
On Thu, 9 Nov 2023 08:01:28 GMT, Per Minborg wrote: >> Viktor Klang has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - Addressing review feedback >> - Make Gatherer.andThen take a wildcard for the rhs Gatherer state type > >

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Viktor Klang
On Thu, 9 Nov 2023 14:21:55 GMT, Alan Bateman wrote: >> You mean "Returns a Gatherer which gathers elements into ..." ? > > Is "window" defined anywhere? If you are doing another pass over the docs > then the windowXXX methods could be expanded a bit to explain this grouping > concept. Also it

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Viktor Klang
On Wed, 8 Nov 2023 17:36:42 GMT, Rémi Forax wrote: >> Viktor Klang has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - Addressing review feedback >> - Make Gatherer.andThen take a wildcard for the rhs Gatherer state type > >

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Viktor Klang
On Thu, 9 Nov 2023 07:57:27 GMT, Per Minborg wrote: >> src/java.base/share/classes/java/util/stream/Gatherer.java line 216: >> >>> 214: >>> 215: /** >>> 216: * A function which accepts two intermediate states and combines >>> them into >> >> We could use a {@return ..} here. There

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Viktor Klang
On Thu, 9 Nov 2023 14:26:40 GMT, Alan Bateman wrote: >> Viktor Klang has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - Addressing review feedback >> - Make Gatherer.andThen take a wildcard for the rhs Gatherer state type > >

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Alan Bateman
On Wed, 8 Nov 2023 21:08:03 GMT, Viktor Klang wrote: >> This Pull-Request implements [JEP-461](https://openjdk.org/jeps/461) > > Viktor Klang has updated the pull request incrementally with two additional > commits since the last revision: > > - Addressing review feedback > - Make

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Alan Bateman
On Thu, 9 Nov 2023 09:42:41 GMT, Viktor Klang wrote: >> src/java.base/share/classes/java/util/stream/Gatherers.java line 326: >> >>> 324: >>> 325: /** >>> 326: * Gathers elements into fixed-size windows. The last window may >>> contain >> >> Returns a ... > > You mean "Returns a

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Per Minborg
On Thu, 9 Nov 2023 09:39:16 GMT, Viktor Klang wrote: >> src/java.base/share/classes/java/util/stream/Gatherer.java line 535: >> >>> 533: */ >>> 534: @ForceInline >>> 535: static Integrator of(Integrator >>> integrator) { >> >> While this idiom is very convenient,

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Per Minborg
On Thu, 9 Nov 2023 09:33:54 GMT, Viktor Klang wrote: >> src/java.base/share/classes/java/util/stream/Gatherer.java line 261: >> >>> 259: /** >>> 260: * Returns an initializer which is the default initializer of a >>> Gatherer. >>> 261: * The returned initializer identifies that

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Per Minborg
On Thu, 9 Nov 2023 11:46:55 GMT, Daniel Fuchs wrote: >> Yeah, I agree with @amaembo, I think it is important to keep the contract >> close to the caller. > > I don't mind either way - just wanted to note that the notion of blanket > statements for `NullPointerException` is used in several

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Daniel Fuchs
On Thu, 9 Nov 2023 09:34:26 GMT, Viktor Klang wrote: >> I think it's still better to specify this for every method. Many developers >> read the documentation only for the specific method they are going to call, >> using IDE features like quick documentation. > > Yeah, I agree with @amaembo, I

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Viktor Klang
On Thu, 9 Nov 2023 09:40:34 GMT, Tagir F. Valeev wrote: >> src/java.base/share/classes/java/util/stream/Gatherers.java line 426: >> >>> 424: * transformation for scenarios where no combiner-function can be >>> 425: * implemented, or for reductions which are intrinsically >>> 426:

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Viktor Klang
On Wed, 8 Nov 2023 17:11:39 GMT, Rémi Forax wrote: >> The API should be client-friendly, not implementor-friendly, given that it's >> expected to have much more clients than implementors. An implementor can >> easily delegate to a private method to add missing type parameters. I did >>

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Viktor Klang
On Thu, 9 Nov 2023 09:39:33 GMT, Tagir F. Valeev wrote: >> Ah, now I see what you mean. In this specific case you might be able to >> create a combiner (which would also need a Downstream) such that you can add >> the missing combinations (the end of the "left" and the beginning of the >>

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Viktor Klang
On Thu, 9 Nov 2023 08:15:02 GMT, Per Minborg wrote: >> Viktor Klang has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - Addressing review feedback >> - Make Gatherer.andThen take a wildcard for the rhs Gatherer state type > >

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Tagir F . Valeev
On Thu, 9 Nov 2023 08:18:33 GMT, Per Minborg wrote: >> Viktor Klang has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - Addressing review feedback >> - Make Gatherer.andThen take a wildcard for the rhs Gatherer state type > >

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Tagir F . Valeev
On Wed, 8 Nov 2023 21:03:59 GMT, Viktor Klang wrote: >> src/java.base/share/classes/java/util/stream/Gatherer.java line 272: >> >>> 270: * Returns a combiner which is the default combiner of a Gatherer. >>> 271: * The returned combiner identifies that the owning Gatherer must >>>

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Viktor Klang
On Thu, 9 Nov 2023 08:28:37 GMT, Per Minborg wrote: >> src/java.base/share/classes/java/util/stream/Gatherer.java line 509: >> >>> 507: @PreviewFeature(feature = PreviewFeature.Feature.STREAM_GATHERERS) >>> 508: interface Integrator { >>> 509: /** Integrate is the method which

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Tagir F . Valeev
On Wed, 8 Nov 2023 16:37:29 GMT, Viktor Klang wrote: >> Sorry, I'm not sure what do you mean by incrementally. But I've realized >> that to implement this you may need to push to downstream during combining. >> E.g., imagine the stream of numbers 1...1000, and you want to make >>

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Tagir F . Valeev
On Sun, 5 Nov 2023 17:40:29 GMT, Tagir F. Valeev wrote: >> Viktor Klang has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - Addressing review feedback >> - Make Gatherer.andThen take a wildcard for the rhs Gatherer state type > >

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Viktor Klang
On Thu, 9 Nov 2023 09:31:50 GMT, Tagir F. Valeev wrote: >> src/java.base/share/classes/java/util/stream/Gatherer.java line 306: >> >>> 304: * @param the type of input elements for the new gatherer >>> 305: * @param the type of results for the new gatherer >>> 306: * @throws

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Per Minborg
On Wed, 8 Nov 2023 21:08:03 GMT, Viktor Klang wrote: >> This Pull-Request implements [JEP-461](https://openjdk.org/jeps/461) > > Viktor Klang has updated the pull request incrementally with two additional > commits since the last revision: > > - Addressing review feedback > - Make

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Per Minborg
On Wed, 8 Nov 2023 21:08:03 GMT, Viktor Klang wrote: >> This Pull-Request implements [JEP-461](https://openjdk.org/jeps/461) > > Viktor Klang has updated the pull request incrementally with two additional > commits since the last revision: > > - Addressing review feedback > - Make

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Per Minborg
On Wed, 8 Nov 2023 21:08:03 GMT, Viktor Klang wrote: >> This Pull-Request implements [JEP-461](https://openjdk.org/jeps/461) > > Viktor Klang has updated the pull request incrementally with two additional > commits since the last revision: > > - Addressing review feedback > - Make

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Per Minborg
On Wed, 8 Nov 2023 21:08:03 GMT, Viktor Klang wrote: >> This Pull-Request implements [JEP-461](https://openjdk.org/jeps/461) > > Viktor Klang has updated the pull request incrementally with two additional > commits since the last revision: > > - Addressing review feedback > - Make

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Per Minborg
On Thu, 9 Nov 2023 08:27:26 GMT, Per Minborg wrote: >> Viktor Klang has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - Addressing review feedback >> - Make Gatherer.andThen take a wildcard for the rhs Gatherer state type > >

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Per Minborg
On Wed, 8 Nov 2023 21:08:03 GMT, Viktor Klang wrote: >> This Pull-Request implements [JEP-461](https://openjdk.org/jeps/461) > > Viktor Klang has updated the pull request incrementally with two additional > commits since the last revision: > > - Addressing review feedback > - Make

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Per Minborg
On Wed, 8 Nov 2023 21:08:03 GMT, Viktor Klang wrote: >> This Pull-Request implements [JEP-461](https://openjdk.org/jeps/461) > > Viktor Klang has updated the pull request incrementally with two additional > commits since the last revision: > > - Addressing review feedback > - Make

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Per Minborg
On Wed, 8 Nov 2023 21:08:03 GMT, Viktor Klang wrote: >> This Pull-Request implements [JEP-461](https://openjdk.org/jeps/461) > > Viktor Klang has updated the pull request incrementally with two additional > commits since the last revision: > > - Addressing review feedback > - Make

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Per Minborg
On Wed, 8 Nov 2023 21:08:03 GMT, Viktor Klang wrote: >> This Pull-Request implements [JEP-461](https://openjdk.org/jeps/461) > > Viktor Klang has updated the pull request incrementally with two additional > commits since the last revision: > > - Addressing review feedback > - Make

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Per Minborg
On Wed, 8 Nov 2023 21:08:03 GMT, Viktor Klang wrote: >> This Pull-Request implements [JEP-461](https://openjdk.org/jeps/461) > > Viktor Klang has updated the pull request incrementally with two additional > commits since the last revision: > > - Addressing review feedback > - Make

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-09 Thread Per Minborg
On Thu, 9 Nov 2023 07:54:39 GMT, Per Minborg wrote: >> Viktor Klang has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - Addressing review feedback >> - Make Gatherer.andThen take a wildcard for the rhs Gatherer state type > >

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-08 Thread Per Minborg
On Wed, 8 Nov 2023 21:08:03 GMT, Viktor Klang wrote: >> This Pull-Request implements [JEP-461](https://openjdk.org/jeps/461) > > Viktor Klang has updated the pull request incrementally with two additional > commits since the last revision: > > - Addressing review feedback > - Make

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-08 Thread Viktor Klang
On Wed, 8 Nov 2023 21:08:03 GMT, Viktor Klang wrote: >> This Pull-Request implements [JEP-461](https://openjdk.org/jeps/461) > > Viktor Klang has updated the pull request incrementally with two additional > commits since the last revision: > > - Addressing review feedback > - Make

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-08 Thread Viktor Klang
On Wed, 8 Nov 2023 17:19:56 GMT, Tagir F. Valeev wrote: >> In that case the integrator should be a BiConsumer too, no ? > > @forax I thought so initially, but this is not so easy, as there's a `Greedy` > subinterface. If you adapt the `Integrator`, you will lose the ability to > specify the

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-08 Thread Viktor Klang
On Wed, 8 Nov 2023 21:04:47 GMT, Viktor Klang wrote: >> This Pull-Request implements [JEP-461](https://openjdk.org/jeps/461) > > Viktor Klang has updated the pull request incrementally with two additional > commits since the last revision: > > - Addressing review feedback > - Make

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-08 Thread Viktor Klang
> This Pull-Request implements [JEP-461](https://openjdk.org/jeps/461) Viktor Klang has updated the pull request incrementally with two additional commits since the last revision: - Addressing review feedback - Make Gatherer.andThen take a wildcard for the rhs Gatherer state type

Re: RFR: JDK-8319123 : Implementation of JEP-461: Stream Gatherers (Preview) [v2]

2023-11-08 Thread Viktor Klang
On Sun, 5 Nov 2023 16:38:38 GMT, Tagir F. Valeev wrote: >> Viktor Klang has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - Addressing review feedback >> - Make Gatherer.andThen take a wildcard for the rhs Gatherer state type > >