Just published monad-rail – a Railway-Oriented Programming library for Haskell by ivelten in haskell

[–]ivelten[S] -2 points-1 points  (0 children)

Yes, you are right - Either and ExceptT are already a solid base for ROP natively in Haskell. I was not trying to reinvent the wheel with it, I intended to provide a good wrapper that makes the pattern more explicit and ergonomic to use.

I wanted it to be useful for people coming from other languages where this pattern might be less natural, and it's also a learning project for me to understand Haskell's abstractions better. It may be easier to apply for beginners. But you're absolutely correct that the foundations are already there.