可能重复:
好的scalaz介绍
我想了解更多关于 Scalaz 的信息,可能使用 Scalaz7 来避免在宣布稳定后重新连接我的大脑。我的问题是 Scalaz 包含很多功能。虽然其中大部分是独立于其他部分的,但我想对 Scalaz 提供的全局功能及其组织方式有一个鸟瞰图。据我所知,Scalaz 提供了,除其他外,
Functor
,Applicative
和Monad
特征,- 新的单子,例如
Validation
(编辑:原来它只是一个应用程序) - monad 转换器 (
OptionT
,EitherT
....) Itereatee
sLens
esZipper
s
除此之外,还有很多隐式转换,以及新的构造函数,例如some
与标准库重叠但在类型方面表现更好
:type Some(3) // Some[Int]
:type some(3) // Option[Int]
我对这些结构中的大多数都有基本的掌握,但我对任何概念都不流利。
您对学习库的顺序有什么建议,模块之间存在哪些逻辑依赖关系?更一般地说,我在哪里可以找到图书馆的高级概述?
编辑似乎大多数答案都是针对学习函数式编程的基本组成部分,比如单子,所以我会尝试更精确。我有 Haskell 的基本知识和数学家背景,所以我的问题与范畴论或基本函数式编程无关。
我的问题是 Scalaz 是一个巨大的库。我不知道在哪里可以找到什么,哪些方法对各种数据类型可用或有用。例如,我真正需要的是一张地图,它会告诉我,当我想要迭代需要处理的资源时,我可能想要考虑迭代对象以及我可以用它做什么类型的操作。更像是图书馆可用功能的全景。