Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

unify lift between all of the transformers all liftT methods #1681

Closed
kailuowang opened this issue May 18, 2017 · 4 comments
Closed

unify lift between all of the transformers all liftT methods #1681

kailuowang opened this issue May 18, 2017 · 4 comments

Comments

@kailuowang
Copy link
Contributor

e.g .EitherT.right, OptionT.liftF, StateT.lift, Free.liftF, WriterT.valueT, Kleisli.lift.
Per conversation here https://gitter.im/typelevel/cats?at=591c9cb564a70be11ad2eb79
also we can consider provide FunctionK version, which is easier to compose. e.g.

def liftFK[F[_], S]: F ~> StateT[F, S, ?] =
    λ[F ~> State[F, S, ?]](StateT.lift(_))
@wedens
Copy link
Contributor

wedens commented May 18, 2017

with MonadTrans such function can be generalized to def liftTTrans[F[_]: Monad, G[_[_], _]: MonadTrans] = λ[F ~> G[F, ?]](_.liftT[G])

@kailuowang
Copy link
Contributor Author

per conversation here we might want to wait for cats-mtl

@edmundnoble
Copy link
Contributor

edmundnoble commented May 18, 2017

Also we need transform(trans: F ~> G), only half the transformers have it and some of them have a transform which does something entirely different.

@LukaJCB
Copy link
Member

LukaJCB commented Aug 5, 2018

This should be done with #2033 and #2000 :)

@LukaJCB LukaJCB closed this as completed Aug 5, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants