scala - 功能设计模式

标签 scala haskell functional-programming monads

有很多函数式习语:单子(monad)、应用程序、箭头等。它们记录在不同的文章中,但不幸的是我不知道有哪本书或文章将它们总结在一个地方(有 Typeclassopedia但它有很多领域没有得到很好的覆盖)。谁能推荐一篇文章/书籍,它在一个地方很好地涵盖了它们,并且可以供具有 FP 中级技能的程序员使用?

最佳答案

我的建议是,如果你想学习 Scala,请阅读 Paul Chiusano 和 Runar Bjarnason 的书:

http://manning.com/bjarnason/

第二部分:功能设计和组合器库

  • 创造小语言
  • JSON 序列化
  • 基于规范的测试
  • 解析器
  • 纯函数并行
  • 纯功能状态
  • 第三部分:函数式设计模式

    1. 抽象的案例
    2. 幺半群
    3. 仿函数
    4. 单子(monad)
    5. 应用仿函数
    6. 可遍历和可折叠的数据结构
    7. 共生体

    第四部分:打破规则:效果和 I/O

    1. 效果与副作用
    2. 流处理和增量 I/O
    3. 使用类型系统强制执行效果范围

    关于scala - 功能设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11339637/

    相关文章:

    Haskell - 如何将最大值 (xs++ map (x+) xs) 转换为 max (最大 xs) (x + 最大 xs)

    scala - 为什么 Scala 中没有 "Functor"特征?

    haskell - 混合 fmap 和绑定(bind) (>>=)

    functional-programming - 使用 Ramda : Can you curry a function that takes unlimited number of arguments 进行函数式编程

    scala - 如何使用 transformWith() 忽略失败的 future ?

    scala - 下划线初始化var和val之间的区别

    java - 是否有可能检测到输出的去向 - 终端或管道/文件?

    类似于 Haskells 循环的 Ruby 方法

    json - 使用 Aeson/JSON 自动派生自定义数据类型的实例

    scala - 玩 2 Scala : Adding a description attribute to this model