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 <gudnabr...@gmail.com> > To: Bruno P. Kinoshita <brunodepau...@yahoo.com.br> > Cc: Commons Developers List <dev@commons.apache.org> > 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 < > brunodepau...@yahoo.com.br> 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 <gudnabr...@gmail.com> >> > To: Commons Developers List <dev@commons.apache.org>; Bruno P. >> Kinoshita <brunodepau...@yahoo.com.br> >> > 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 < >> > brunodepau...@yahoo.com.br> 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: dev-unsubscr...@commons.apache.org >> >> For additional commands, e-mail: dev-h...@commons.apache.org >> >> >> >> >> > >> > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org