Comments (2)
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.
from purefun.
Thanks a lot for your feedback. I will take a look to your implementation. Kind regards!
from purefun.
Related Issues (20)
- StackOverflowError using Scheduler HOT 2
- Make purefun production ready
- Implement free aplicative HOT 1
- Async Typeclass implementation for IO
- algebraic effects HOT 2
- support for java 11
- Improve annotation processor
- Integration with reactor and rxjava
- Generate sealed classes using annotation processor
- Implement Scheduler
- Try to implement ZLayer
- Java 11 as minimum required version HOT 1
- IO instace for Applicative
- Submodule with typeclasses laws
- Type class for timed()
- foldMapping in zio effect doesn't look good HOT 2
- Submodule for integrations
- Migration to gradle 7.0
- no HOT 2
- Memory leak in PromiseImpl
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from purefun.