首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >其他库的Scalaz类型类实例的舍入

其他库的Scalaz类型类实例的舍入
EN

Stack Overflow用户
提问于 2012-09-14 22:10:17
回答 1查看 415关注 0票数 13

我经常发现自己需要(然后通常是编写) Scalaz类型的类实例用于其他Scala或Java库中的类。举几个例子:

ShapelessHList的monoid实例为您提供了几乎免费的monoid instances for case classes with appropriately typed members

例如,LiftBox的一个应用函数器实例允许您对框的列表进行排序:

代码语言:javascript
复制
scala> val boxen: List[Box[Int]] = Full(1) :: Full(2) :: Full(3) :: Nil
boxen: List[net.liftweb.common.Box[Int]] = List(Full(1), Full(2), Full(3))

scala> boxen.sequence
res0: net.liftweb.common.Box[List[Int]] = Full(List(1, 2, 3))

Dispatch 0.9Promise (和Promise[Either[Throwable, _]]等)的monad实例对于所有类型的东西都非常有用。

标准库的Parserapplicative functor instance使应用型解析更简洁、更优雅。(我刚刚注意到Scalaz7now provides a monad instance for Parser。)

以此类推。

这些实例几乎总是非常通用的,我相信我们中的很多人都写过很多这样的代码。我在这个问题中寻找的是Scalaz类型类实例的某种聚合器或交换所。我不确定是否存在这样的东西-我肯定找不到任何类似的东西-但即使是博客帖子、GitHub存储库或其他资源的链接的集合也会对我有用。

我更喜欢Scalaz 7实例,但是我会选择我能得到的任何东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-15 03:58:27

Scalaz实例的社区维基

Scalaz 7实例

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12426269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档