commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bruno P. Kinoshita" <brunodepau...@yahoo.com.br>
Subject Re: [functor] Change default arity of Function, Predicate and Procedure
Date Wed, 30 Jan 2013 00:09:07 GMT
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 <gudnabrsam@gmail.com>
> To: Commons Developers List <dev@commons.apache.org>; Bruno P. Kinoshita <brunodepaulak@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 <
> brunodepaulak@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-unsubscribe@commons.apache.org
>>  For additional commands, e-mail: dev-help@commons.apache.org
>> 
>> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message