Hi Gilles
I can't speak for others, but I agree we would need to remove most of the code
that is now available in Java 8. I think [functor] would need more a place for
functional code that does not belong to lang, but is still useful to other devs
& components.
Bruno
On Saturday, 3 August 2019, 1:48:50 am NZST, Gilles Sadowski
<[email protected]> wrote:
Hello Bruno.
Le mer. 31 juil. 2019 à 08:05, Bruno P. Kinoshita <[email protected]> a écrit :
>
> Hi,
>
> >Or maybe more accurately, Commons doesn't have any libraries for this yet
> >(not like we're limited to purely Javahere).
> We have the unreleased Commons Functor. I believe this was the intention of
> the project, though it lost momentum.
The site is outdated: link to the source repository returns 404.[1]
> But some interesting code there that could be simplified and released if
> there's still interest.
>From a quick browsing of the documentation[2], it seems that a large chunk
is now covered by the JDK's "java.util.function" package. If so, the first step
would probably be a purge of everything that duplicates functionality available
in standard classes.
It would be most interesting to read what the developers who contributed
to that component think.[3]
Regards,
Gilles
[1] https://commons.apache.org/proper/commons-functor/source-repository.html
[2] https://commons.apache.org/proper/commons-functor/apidocs/index.html
[3] https://commons.apache.org/proper/commons-functor/team-list.html
>
> Bruno
>
> On Wednesday, 31 July 2019, 3:59:25 am NZST, Matt Sicker
><[email protected]> wrote:
>
> On Tue, 30 Jul 2019 at 08:50, Gilles Sadowski <[email protected]> wrote:
> > I certainly agree with Gary as to why "Commons" is not there being a
> > practical issue (of no concerted road map and lacking developers to
> > implement it). However, did I understand correctly that you consider
> > such a development to be useless? I.e. rather than updating "Commons"
> > do you suggest that application developers should not use it?
>
> I meant that writing Commons libraries for functional programming
> still isn't possible with Java's limited generics and type system. I'm
> talking about higher kinded types, dependent types, monads, functors,
> etc. While there are some Java libraries out there that attempt to do
> this [1] [2], there's no "natural" way to express type classes and
> other functional programming concepts in Java. Considering the lack of
> Kotlin and Scala libraries in Commons at the moment, I'd conclude that
> this isn't the most appropriate place for functional programming
> libraries at the moment. Or maybe more accurately, Commons doesn't
> have any libraries for this yet (not like we're limited to purely Java
> here).
>
> However, that isn't to say that Commons libraries can't offer anything
> useful that relies on lambda functions, streams, completable futures,
> etc., but that is a fairly limited subset of functional programming,
> and any academic study looking at this should know that due to
> familiarity with languages like Haskell where "real" functional
> programming tends to take place still. Or maybe I'm misunderstanding
> the point of this question entirely.
>
> [1]: https://www.functionaljava.org/
> [2]: https://www.vavr.io/
>
> --
> Matt Sicker <[email protected]>