I think it makes sense and is clear what is does.
I thought in using {arity}Operation, but in Java 8 there are interfaces like
BinaryOperator, and BinaryOperator extends BiFunction, so it would be confusing
to users having something like interface BinaryFunction extends BinaryOperation
in [functor].
Bruno P. Kinoshita
http://kinoshita.eti.br
http://tupilabs.com
----- Original Message -----
> From: Matt Benson <[email protected]>
> To: Bruno P. Kinoshita <[email protected]>
> Cc: Commons Developers List <[email protected]>
> Sent: Wednesday, January 30, 2013 1:29 PM
> Subject: Re: [functor] Change default arity of Function, Predicate and
> Procedure
>
> What about:
>
> Arity (Marker)
> |_Nullary extends Arity
> |_Unary<A> extends Arity
> |_Binary<L, R> extends Arity
>
> ?
>
> Matt
>
>
> On Tue, Jan 29, 2013 at 6:09 PM, Bruno P. Kinoshita <
> [email protected]> wrote:
>
>> In Haskell you define your functions and its arity.
>>
>> // nullary function
>> a :: () => () -> String
>> a = "Hello World"
>>
>> // unary function
>> b :: (Integral c) => c -: String
>> b x = "Hello Integral"
>>
>> I think in Clojure and Scala you can define the arity of the function too.
>>
>> For the users of [functor] I think it would be easier to migrate their
>> code to Java 8, or use it with Java 8, if both [functor] and Java 8
>> Function classes had similar behaviour. That would be interesting
>> especially if the lambda project provided a backport jar.
>>
>> [functor] and lambda project provide 1 and 2 arities by default, but
>> lambda doesn't provide nullary interfaces (or at least I couldn't
> find them
>> in java.util.functions).
>>
>> Cheers
>>
>> Bruno P. Kinoshita
>> http://kinoshita.eti.br
>> http://tupilabs.com
>>
>>
>> ----- Original Message -----
>> > From: Matt Benson <[email protected]>
>> > To: Commons Developers List <[email protected]>; Bruno P.
>> Kinoshita <[email protected]>
>> > Cc:
>> > Sent: Tuesday, January 29, 2013 8:57 PM
>> > Subject: Re: [functor] Change default arity of Function, Predicate and
>> Procedure
>> >
>> > What about in pure functional languages e.g. Haskell?
>> >
>> > Matt
>> >
>> >
>> > On Tue, Jan 29, 2013 at 4:55 PM, Bruno P. Kinoshita <
>> > [email protected]> wrote:
>> >
>> >> Hi all,
>> >>
>> >> In Java 8 and Guava the default arity of a Function is 1, but in
>> [functor]
>> >> it is 0, IOW, in Java 8 and Guava a Function is by default a
>> UnaryFunction,
>> >> while in [functor] it is a NullaryFunction.
>> >>
>> >> What do you guys think of changing the default arity of Function,
>> >> Procedure and Predicate in [functor] to 1, rather than 0?
>> >>
>> >> Cheers
>> >>
>> >> Bruno P. Kinoshita
>> >> http://kinoshita.eti.br
>> >> http://tupilabs.com
>> >>
>> >>
> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: [email protected]
>> >> For additional commands, e-mail: [email protected]
>> >>
>> >>
>> >
>>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]