这个问题已经在这里有了答案:
已关闭8年。
我想了解更多有关Scalaz的信息,可能会使用Scalaz7避免在声明稳定后重新布线。我的问题是Scalaz包含很多功能。尽管大多数内容都旨在独立于其他部分,但我还是希望对Scalaz提供的全局功能及其组织方式有一个总体了解。据我所知,Scalaz提供的功能包括:
Functor
,Applicative
和Monad
特性Validation
(编辑:原来这只是一个应用程序)OptionT
,EitherT
....)Itereatee
的Lens
和Zipper
的除此之外,还有很多隐式转换,新的构造函数(例如
some
)与标准库重叠,但在类型方面表现更好:type Some(3) // Some[Int]
:type some(3) // Option[Int]
我对大多数这些构造都有基本的了解,但是我不精通任何概念。
编辑似乎大多数答案都是针对学习函数式编程的基本组件(如monad),因此,我将尝试更加精确。我具有Haskell的基本知识和数学家的背景,因此我的问题与类别理论或基本函数编程无关。
我的问题是Scalaz是一个庞大的图书馆。我不知道在哪里可以找到各种数据类型上可用的或有用的方法。我真正需要的是一个映射,例如,它将告诉我,当我要迭代需要处理的资源时,我可能要考虑迭代,以及可以执行哪些操作。更像是该库提供的功能的全景图。
最佳答案
我会推荐Eugene Yokota在Scalaz 7上发表的优秀系列Learning scalaz。作者遵循Learn You a Haskell for Great Good的结构。这种方法是系统的,非常有教育意义。
关于scala - 在Scalaz中找到自己的路,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12387800/