Re:Haskell's Children
by choeger on Wednesday September 23, 2020 @09:33AM
(#24566842)
It is not. do notation is just syntactic sugar. The feature that enables re-use are the type-classes and the structure of the standard library. Interestingly, you do have traits in rust, but I think there is no monad trait yet in the std lib.
[ Parent
| on HN ]
Re:Haskell's Children
by steveklabnik on Wednesday September 23, 2020 @10:22AM
(#24567393)
There is not a monad trait because we do not have higher kinded types, which is a requirement.
Beyond that, it's not clear that a monad trait would work, even if we did. It may, but it also may not. We'll see (or not) I guess.
Why wouldn't a Monad trait work?
You mean you couldn't express it in Rust, even with HKTs? Or you mean that it wouldn't be useful?
Re:Haskell's Children
by steveklabnik on Wednesday September 23, 2020 @01:09PM
(#24569331)
Both. See here for more https://twitter.com/withoutboats/status/1027702538563477505
There have been some people working on these problems, take https://varkor.github.io/blog/2018/11/10/monadic-do-notation... for example. This is why I say "not clear" and not "impossible" or something. We just don't know.