You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Discovered purefun not so long ago and while not using purefun, but found it very interesting, especially as a source of inspiration. The main reason for not adopting it for my projects is the same as for the majority of other functional libraries for Java - focus on functional terminology and "functional for the sake of functional" attitude. While it's a lot of fun and fascinating, at the same time, this attitude makes the library basically not approachable for the vast majority of Java devs with mostly imperative background. By the way, you might find interesting to take a look into my implementation of basic monads like Option, Result and Promise. In particular, my implementations of Option and Result do not use branching and this makes them exceptionally performant (for example, Option has same or better performance than regular null check). Another difference is the use of tuples exclusively as a set of function call parameters, i.e. access to tuple components is not supported (and overall tuples are rather a technical detail rather than a user-facing feature). Instead, all tuple components can be applied to a provided function. Finally, I don't see in your implementation such a convenient tool as Option.all() (and Try.all()) for different number of parameters. I found these static methods extremely useful in real applications.
If you are using purefun, It would be awesome if you tell me how you are using it.
If you want to help me, please write a comment to this issue with this information.
Thanks a lot!
The text was updated successfully, but these errors were encountered: