Comments (8)
@emilypi ^^^
from zio.
@ktonga Why not mzero
(Monoid zero) for MonadPlus
?
from zio.
That makes it harder to distinguish the empty
IO
(from other failed) in plus
to hold the identity laws. It's not impossible, the implementation will differ from the one in Plus
and we have to add Monoid
and Equal
constrains to E
. If the default error is a singleton it is simpler and clearer.
from zio.
Another useful method could be isRetryable
. I'm not saying we should mark E
with it everywhere, just add the constraint when it makes sense and we can provide more functionality. For instance there could be two flavors of maybeRetry
one with the constraint and another accepting an E => Boolean
from zio.
@jdegoes check my comments about that. We can do it, but it will mean an object allocation, and requiring (as well as Equal[E]
Monoid[E]
), and we have to be careful about breaking coherence in the implicit priorities for the case where there is no Equal
orMonoid
.
from zio.
(I'll code it up so we can see exactyl what I mean...)
from zio.
from zio.
Monoidal E
it is
from zio.
Related Issues (20)
- Documentation For Log Annotation Mechanisms in ZIO
- Missing stacktraces from right-side effect of `.flatMap`
- Zlayer issue - Ambiguous layer with opaque type HOT 2
- `Runtime#unsafe.fork` doesn't fork synchronous effects
- mapZIOParUnordered does not respect parallelism
- Comparing Chunk to Seq causes ClassCastException HOT 3
- ZPipeline.fromFunction introduces a significant performance overhead HOT 6
- Regression in ZLayer.make HOT 1
- 2.1.0-RC2: Something is hanging in the fiber world HOT 6
- Backward compatibility for 2.1.0
- Cloning Zio-QuickStarts in Overview Guides Results in Fatal if User has Incorrect Rights HOT 6
- ZStream: Using `timeoutFail` logs an unhandled error HOT 4
- Publish for Scala native 0.5 HOT 5
- Application doesn't await completion of uninterruptible fibers forked in global scope HOT 2
- Making Config Loader API Simpler HOT 5
- ZStream.tapSink, either a flaky test or flaky implementation HOT 7
- add conversion to `FiniteDuration` to zio.duration HOT 6
- Child fiber interrupted while parent runs onInterrupt HOT 6
- Creating highly optimized and specialized fiber mailbox HOT 15
- Performance of `ZIO.foreachPar` not as good as fork-join
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 zio.