bloder
05/10/2022, 11:15 PMEffect
feature, really cool how I can type all my effects and play with them purely, one doubt about it: Are we thinking in explore more about Algebraic Effects and bring its concept to this implementation?raulraja
05/15/2022, 10:28 AMbloder
05/16/2022, 12:21 AMEffect
type if I find another better model I open a discussion or something like that.simon.vergauwen
05/16/2022, 6:41 AMsuspend
+ EffectScope<E>
is more like MonadError<E>
+ IO
.
In such that you can define effects like so
interface Console {
sealed interface Error {
...
}
context(EffectScope<Console.Error>)
suspend fun putStr(msg: String): Unit
companion object Default : Console {
...
}
}
simon.vergauwen
05/16/2022, 6:42 AMMy current impression is the existing combinations of interfaces/impl + context receivers is probably already inline with what one would expect from an algebraic effect system.So yes, 100% this.