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

Reply via email to