We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The idea is something like this:
newtype Aff e a = Aff ((Error -> Eff e Unit) -> (a -> Eff e Unit) -> EffA e (Unit -> Aff e Unit)
So an Aff can decide to allow canceling. The semantics would be something along the lines of:
Aff
The main advantage is that IO can be aborted, e.g. the <|> combinator for Par can abort the other computation, which can lead to efficiency gains.
<|>
Par
The public API would be something like:
killAff :: forall e a. Error -> Aff e a -> Aff e Boolean
Which returns a true if it's killed and a false otherwise. Or something like that.
true
false
The text was updated successfully, but these errors were encountered:
71676af
No branches or pull requests
The idea is something like this:
So an
Aff
can decide to allow canceling. The semantics would be something along the lines of:Aff
will error, not succeed.Aff
would be propagated.The main advantage is that IO can be aborted, e.g. the
<|>
combinator forPar
can abort the other computation, which can lead to efficiency gains.The public API would be something like:
Which returns a
true
if it's killed and afalse
otherwise. Or something like that.The text was updated successfully, but these errors were encountered: