通过Scalaz找到我的路 [英] Finding my way through Scalaz

查看:85
本文介绍了通过Scalaz找到我的路的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


可能存在重复:

好的scalaz介绍


我想了解更多关于Scalaz的信息,一旦宣布稳定后,Scalaz7将避免重新连线我的大脑。我的问题是,斯卡拉兹包含很多功能。尽管大部分内容都是独立于其他部分的,但我想全面了解斯卡拉斯提供的全球功能以及它的组织方式。据我所知,斯卡拉斯除其他外还提供了

$ b

  • Functor Applicative Monad 特质,
  • 新单体,如验证(编辑:原来它只是一个应用程序)

  • 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 and Monad traits,
    • new monads such as Validation (edit: turns out it is only an applicative)
    • monad transformers (OptionT, EitherT....)
    • Itereatees
    • Lenses
    • Zippers

    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屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆