通过Scalaz找到我的路 [英] Finding my way through Scalaz
问题描述
可能存在重复:
好的scalaz介绍
我想了解更多关于Scalaz的信息,一旦宣布稳定后,Scalaz7将避免重新连线我的大脑。我的问题是,斯卡拉兹包含很多功能。尽管大部分内容都是独立于其他部分的,但我想全面了解斯卡拉斯提供的全球功能以及它的组织方式。据我所知,斯卡拉斯除其他外还提供了
$ b
Functor
, Applicative
和 Monad
特质, 验证
(编辑:原来它只是一个应用程序) OptionT
, EitherT
....) Itereatee
s Lens
es Zipper
s 除此之外,还有很多隐式转换和新构造函数,如一些
它与标准库重叠,但在类型方面表现更好
:type Some(3)// Some [Int]
:键入some(3)// Option [Int]
我有一个基本的把握大多数这些结构,但我不熟悉任何概念。
你有什么建议以什么顺序学习图书馆,什么逻辑dep模块之间存在共同点?更普遍的是,我可以在哪里找到该库的高级概览?
编辑答案是针对学习函数式编程的基本组件,比如monad,所以我会尽量做得更精确。我有Haskell的基础知识和数学背景,所以我的问题与分类理论或基本的函数式编程无关。
我的问题是Scalaz是一个庞大的库。我不知道在哪里找到哪些方法可用或对各种数据类型有用。我真正需要的是一张地图,例如,它会告诉我,当我想对需要处理的资源进行迭代时,我可能会考虑迭代以及我可以使用哪种操作。更像是全面了解图书馆可用的功能。
我会推荐优秀的系列 学习scalaz 由Eugene Yokota在Scalaz 7上撰写。作者遵循了解你对Haskell的好处。这种方法是系统的,非常有教育意义。Possible Duplicate:
Good scalaz introduction
I would like to learn more about Scalaz, possibly using Scalaz7 to be avoid rewiring my brain once it is declared stable. My problem is that Scalaz contains a lot of functionality. While most of it is meant to be independent of other parts, I would like to have a bird's eye view of the global funcitonality offered by Scalaz and how it is organized. As far as I know, Scalaz offers, among other things,
Functor
,Applicative
andMonad
traits,- new monads such as
Validation
(edit: turns out it is only an applicative) - monad transformers (
OptionT
,EitherT
....) Itereatee
sLens
esZipper
s
Added to this there are a lot of implicit conversions, and new constructors such as some
which overlap with the standard library but behave better with regards to types
:type Some(3) // Some[Int]
:type some(3) // Option[Int]
I have a basic grasp of most of these constructions, but I am not fluent with any of the concepts.
Do you have any suggestion in what order to learn the library, what logical dependencies exist between modules? More generally, where can I find a high level overview of the library?
EDIT It seems that most answers are directed towards learning the basic components of functional programming, like monads, so I will try to be more precise. I have a basic knowledge of Haskell and a mathematician background, so my issue is not related to category theory or basic functional programming.
My problem is that Scalaz is a huge library. I do not know what to find where, what methods are available or useful on various data types. What I really need is a map that, for instance, will tell me that when I want to iterate over resources that need to be disposed, I may want to consider iteratees and what kind of operations I can do with that. More like a panoramic of the functionality available with the library.
I would recommend the excellent series Learning scalaz by Eugene Yokota on Scalaz 7. The author follows the structure of Learn You a Haskell for Great Good. The approach is systematic and very pedagogic.
这篇关于通过Scalaz找到我的路的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!