FlatMapper
Joe Bowbeer
joe.bowbeer at gmail.com
Sat Feb 16 21:31:19 PST 2013
> mapAndFlattenInto ?
OK
On Fri, Feb 15, 2013 at 10:48 AM, Brian Goetz <brian.goetz at oracle.com>wrote:
> So it seems the choice is:
>
> - Keep this tied to flatMap and keep it in JUS. Advantage: makes the
> complicated flatMap(FlatMapper) operation easier to understand.
>
> - Abstract this into a general "map to multiple values and dump results
> into a Consumer" type, move to JUF, ane rename to something like
> "MultiFunction". Advantage: more future flexibility; Disadvantage: mostly
> guessing about what we might want in the future.
>
> I lean towards the first.
>
> In which case the remaining decision is: what to name the method.
>
> Maybe:
>
> mapAndFlattenInto
>
> ?
>
>
> On 2/14/2013 4:33 PM, Joe Bowbeer wrote:
>
>> I'm not opposed to explode, but I think it would be better to find a
>> verb that is related to flattening. Extrude is better in that regard
>> than explode.
>>
>> extrudeInto
>> mapAndExtrude
>>
>> On the downside, 'explode' has more hacker cred than 'extrude'.
>>
>> --Joe
>>
>>
>> On Thu, Feb 14, 2013 at 12:56 PM, Brian Goetz <brian.goetz at oracle.com
>> <mailto:brian.goetz at oracle.com**>> wrote:
>>
>> OK, so far we have:
>> - Joe asks for a better method name -- no suggestions other than
>> mapAndFlatten
>> - No consensus on whether this goes into JUS or JUF.
>>
>>
>>
>>
>> On 2/12/2013 1:41 PM, Brian Goetz wrote:
>>
>> Here's where things have currently landed with FlatMapper --
>> this is a
>> type in java.util.stream, with nested specializations.
>>
>> Full bikeshed season is now open. Are we OK with the name
>> explodeInto()? Is this general enough to join the ranks of
>> Function and
>> Supplier as top-level types in java.util.function?
>>
>> @FunctionalInterface
>> public interface FlatMapper<T, U> {
>> void explodeInto(T element, Consumer<U> sink);
>>
>> @FunctionalInterface
>> interface ToInt<T> {
>> void explodeInto(T element, IntConsumer sink);
>> }
>>
>> @FunctionalInterface
>> interface ToLong<T> {
>> void explodeInto(T element, LongConsumer sink);
>> }
>>
>> @FunctionalInterface
>> interface ToDouble<T> {
>> void explodeInto(T element, DoubleConsumer sink);
>> }
>>
>> @FunctionalInterface
>> interface OfIntToInt {
>> void explodeInto(int element, IntConsumer sink);
>> }
>>
>> @FunctionalInterface
>> interface OfLongToLong {
>> void explodeInto(long element, LongConsumer sink);
>> }
>>
>> @FunctionalInterface
>> interface OfDoubleToDouble {
>> void explodeInto(double element, DoubleConsumer sink);
>> }
>> }
>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/lambda-libs-spec-experts/attachments/20130216/edada4a2/attachment.html
More information about the lambda-libs-spec-experts
mailing list