raulraja
03/03/2018, 6:54 PMMonadReader
or other abstraction and you are already parametric over F
but in my opinion it does not add much value on it's own unless you are in a concrete context.
Reader<D, A>
is ReaderT<ForId, D, A>
. This means just Reader on it's own can't be threaded on an async context since it's fixed to Id
. You would need ReaderT
because composition over Reader
is done with flatMap
whereas in functions is just function application.
Unless you have a specific use case I think in most cases partial application or simply using algebras over a parametric F
is always more flexible.