Looks like <https://arrow-kt.io/docs/meta/> is rai...
# arrow
j
Looks like https://arrow-kt.io/docs/meta/ is raising a
404
. In case it hasn't already been reported...
1
r
There seems to be an issue that each time a site deployment happens, the meta links are gone since a couple of days ago. /cc @paco
👍 1
i
FYI the link to
State
from the _Functional Programming in Kotlin_ liveBook also 404s: https://arrow-kt.io/docs/0.10/apidocs/arrow-mtl-data/arrow.mtl/-state.html Perhaps it'd be worth putting a redirect in for it.
r
Thanks @ianbrandt that one is more tricky since State is long gone and no longer in Arrow.
👍 1
i
Ah, got you. I'm just starting to learn the framework. I thought maybe it had just been moved. Is there a recommended alternative, or a writeup somewhere on why it was dropped?
Another thing I noticed, https://arrow-kt.io/docs/apidocs/arrow-core/arrow.core/-either/#either-vs-validated ...says:
For more information, see the 
Validated
 vs 
Either
 section of the 
Validated
 documentation.
However, there doesn't appear to be such a section at: https://arrow-kt.io/docs/apidocs/arrow-core/arrow.core/-validated/
r
State, the state monad data type was removed because it was encoded as a StateT transformer but for it to work in the current kotlin ecosystem it would need to be encoded as
suspend
. Since most of its use was mostly for academic purposes and no real life examples we choose to no longer support state or any of the similar monad transformers. Frequently in suspend / concurrent scenarios we use Atomic instead for state management. https://arrow-kt.io/docs/apidocs/arrow-fx-coroutines/arrow.fx.coroutines/-atomic/
🙏 1
Regarding Validated, that piece of docs is wrong as I believe that page is also gone from the docs. Discussing Validated vs Either, they are essentially the same with the only difference that in
Validated
you can do error accumulation. Currently the
either
computation block also allows you to
bind
Validated values and treat as a monad for short-circuiting. It may be possible that in the future Either just provides a zip version that does error accumulation by default when the Either has a Nel on the left, in which case validated may not make sense to have around.
👍 1
j
Currently the 
either
 computation block also allows you to 
bind
 Validated values and treat as a monad for short-circuiting.
That's really interesting. I didn't realize that was possible.