Monad transformers with identity monad

前端 未结 2 1051
感情败类
感情败类 2021-02-12 19:31

What\'s the point in using a Monad transformer with the Identity monad rather than just using the \"standard\" version of the transformer?

Is it more flexible?

2条回答
  •  终归单人心
    2021-02-12 20:10

    From the Documentation: Computationally, there is no reason to use the Identity monad instead of the much simpler act of simply applying functions to their arguments. The purpose of the Identity monad is its fundamental role in the theory of monad transformers. Any monad transformer applied to the Identity monad yields a non-transformer version of that monad.

    As i understand it, getting the non-transformer version of a monad from a monad transformer by applying the identity monad is exactly the thing that the identity monad is there for. There is no advantage over just using the non-transformer monad, yet sometimes you have to use a monad transformer, e.g. when a function you want to use requires it.

提交回复
热议问题