给定一个带有签名的函数:A => F[G[B]]
. F
和G
类型有 monads 实例。
是否可以将其转换为带有签名的东西:F[G[A=>B]
?这种转变有什么通用名称吗?
换句话说,将执行prettify2
什么?
def pretiffy(x: String): Future[Option[String]] = Future{if(x == "") None else Some(s">>>$x<<<")}
val pretiffy2: Future[Option[String => String]] = ???
更新:我很感激使用猫或 scalaz 的答案。