将'A => F[G[B]]'转换为'F[G[A=>B]' Scala



给定一个签名为:A => F[G[B]]的函数。有FG类型的单子实例。

有可能将其转化为带有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来回答。

假设我们有一个String=>List[Option[Integer]]。我们需要生产一个List[Option[String=>Integer]]。我们应该如何处理这个问题?例如,结果列表应该有多长?它应该包含多少个None ?

显然,这些问题没有答案,这意味着请求的转换不可能存在于任意的单子(或实际上大多数单子,因为人们可以对大多数单子提出类似的问题)。

相关内容

  • 没有找到相关文章

最新更新