You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by "Bruno P. Kinoshita" <ki...@apache.org> on 2013/01/29 23:44:12 UTC

[functor] Remove Functor marker interfaces

Hi all, 

In Haskell, category theory and possibly in other fields and programming languages a functor has a broader meaning. "Typically, they are structures that "can be mapped over"" [1]. A common functor taught for beginners in Haskell (like me) is a list.

So it may be confusing for programmers used with other languages and API's in principle to see the Functor interface in the project. I tried removing the functor interfaces from the functor-api project, and after minor changes in the function/predicate/procedure's the rest of the code compiled with no problem. 

I think these marker interfaces could be removed. They are not being used anywhere in the functor-core, but we would have to update the site. 

Thoughts on this? 

Thanks!

[1] http://en.wikibooks.org/wiki/Haskell/Applicative_Functors

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


Re: [functor] Remove Functor marker interfaces

Posted by "Bruno P. Kinoshita" <ki...@apache.org>.
Hi Matt, 

Your reasoning sounds right. A use-case for this could be a graphical interface that used functions, and then you would have to know how many parameters display in an input form. Without these marker interfaces the code would have to maybe check the class name to guess its arity.

> Would some other nomenclature allow us to serve both purposes?

+1 I'll think about some options for naming these marker interfaces.

Thanks a lot for the quick response.

Bruno P. Kinoshita
http://kinoshita.eti.br
http://tupilabs.com


>________________________________
> From: Matt Benson <gu...@gmail.com>
>To: Commons Developers List <de...@commons.apache.org>; Bruno P. Kinoshita <ki...@apache.org> 
>Sent: Tuesday, January 29, 2013 8:56 PM
>Subject: Re: [functor] Remove Functor marker interfaces
> 
>
>Hi, Bruno.  My reasoning for having these marker interfaces was that they might be a useful means of recognizing the commonality between the various interfaces depending on the number of arguments accepted.[1]  I can't say that I have a specific use-case for this, however.  Would some other nomenclature allow us to serve both purposes?
>
>Matt
>
>
>[1] http://wiki.apache.org/commons/Sanity%20Check%20of%20APIs%2C%20etc. (first item)
>
>
>
>
>On Tue, Jan 29, 2013 at 4:44 PM, Bruno P. Kinoshita <ki...@apache.org> wrote:
>
>Hi all, 
>>
>>In Haskell, category theory and possibly in other fields and programming languages a functor has a broader meaning. "Typically, they are structures that "can be mapped over"" [1]. A common functor taught for beginners in Haskell (like me) is a list.
>>
>>So it may be confusing for programmers used with other languages and API's in principle to see the Functor interface in the project. I tried removing the functor interfaces from the functor-api project, and after minor changes in the function/predicate/procedure's the rest of the code compiled with no problem. 
>>
>>I think these marker interfaces could be removed. They are not being used anywhere in the functor-core, but we would have to update the site. 
>>
>>Thoughts on this? 
>>
>>Thanks!
>>
>>[1] http://en.wikibooks.org/wiki/Haskell/Applicative_Functors
>>
>>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


Re: [functor] Remove Functor marker interfaces

Posted by Matt Benson <gu...@gmail.com>.
Hi, Bruno.  My reasoning for having these marker interfaces was that they
might be a useful means of recognizing the commonality between the various
interfaces depending on the number of arguments accepted.[1]  I can't say
that I have a specific use-case for this, however.  Would some other
nomenclature allow us to serve both purposes?

Matt

[1] http://wiki.apache.org/commons/Sanity%20Check%20of%20APIs%2C%20etc.
(first item)


On Tue, Jan 29, 2013 at 4:44 PM, Bruno P. Kinoshita <ki...@apache.org>wrote:

> Hi all,
>
> In Haskell, category theory and possibly in other fields and programming
> languages a functor has a broader meaning. "Typically, they are structures
> that "can be mapped over"" [1]. A common functor taught for beginners in
> Haskell (like me) is a list.
>
> So it may be confusing for programmers used with other languages and API's
> in principle to see the Functor interface in the project. I tried removing
> the functor interfaces from the functor-api project, and after minor
> changes in the function/predicate/procedure's the rest of the code compiled
> with no problem.
>
> I think these marker interfaces could be removed. They are not being used
> anywhere in the functor-core, but we would have to update the site.
>
> Thoughts on this?
>
> Thanks!
>
> [1] http://en.wikibooks.org/wiki/Haskell/Applicative_Functors
>
> 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
>
>