哪些 Haskell 主题需要以 Real-World-Haskell 风格解决?

Posted

技术标签:

【中文标题】哪些 Haskell 主题需要以 Real-World-Haskell 风格解决?【英文标题】:What haskell topics need to be addressed in a Real-World-Haskell style? 【发布时间】:2011-04-25 12:44:35 【问题描述】:

RWH 出来已经有一段时间了(差不多 3 年)。在在线阅读本书的增量写作之后,我渴望得到我的副本(我认为,这是写一本书的最佳方式之一。)在所有相当学术的论文中,一个哈斯克尔学生读起来真是太有意义了通常会遇到!

在相当多的旅行中,它是一个坚固的伴侣,我经常回顾它。 尽管如此,我的副本开始看起来相当糟糕,尽管大部分内容仍然有效,但在 haskell 世界中仍有大量新主题值得以类似的方式进行介绍。

考虑到 RWH 已经(并且仍然存在)的影响,我真诚地希望有一天会有续集 :) 我会立即想到续集的一些主题:

迭代者 更多关于 Haskell 中的并发编程 懒惰评估的利与弊 可能涵盖了一些处理此问题的常用库 尤其是懒惰的io 新的 ghc 功能(例如新的 I/O 管理器、LLVM 代码生成器) 记忆 ..

haskell 社区需要 RWH 式解释的主题有哪些?


这是迄今为止的建议摘要:

概念

迭代/惰性 IO 箭头 ghc 事件管理器

技术

泛型(单板、syb) 元编程(Haskell 模板) 数据结构(函数式数据结构的使用、数据结构的设计) EDSL(设计 EDSL) 记忆 使用单子进行设计 命令式编程的最佳实践

工具

线程作用域 高级 FFI 工具(c2hs,使用 C 中的 Haskell) 阴谋集团 黑线鳕 胡闹 调整运行时,尤其是。 GC 标志 神灵

数组和数组编程(向量、repa、hmatrix) 数字(随机数) 并行编程(Par monad) unicode 和语言环境(文本、文本-icu) 解析(attoparsec,tagsoup) 网络(snap,yesod) 网络资料(模板) 持久性(尤其是无 sql 存储绑定) 图形(cairo、sdl、opengl) xml (haxml) 加密 处理器和系统的东西

【问题讨论】:

相关:Which parts of Real World Haskell are now obsolete or considered bad practice? 【参考方案1】:

这是我的看法,偏向于生态系统。

数组和数组编程: vector repa hmatrix 数字 随机数 并行编程 Par monad unicode 和语言环境 texttext-icu 正在解析 attoparsec tagsoup 联网 snap 和/或 yesod 网络资料 模板化 持久性 hdbc 以外的数据库 no-sql 存储绑定 图形 cairo sdl opengl xml haxml 加密 处理器和系统的东西

技术

泛型 uniplate syb 元编程 Haskell 模板 数据结构 设计数据结构 EDSL 设计 EDSL 记忆 使用单子进行设计

工具

ThreadScope 高级 FFI 工具 c2hs 在 C 中使用 Haskell 调整运行时,尤其是。 GC 标志

【讨论】:

是的,谢谢!这来自唐给了我一些微弱的希望,确实会有续集:) 太棒了!【参考方案2】:

我很想看看:

Cabal & Hoogle & Haddock(每日最佳实践code - build - test - deploy 工作流程) 可用的数据结构及其(现实世界)使用、性能和空间特征 数据可视化 命令式编程的最佳实践 Yesod & Snap 关于数据库连接(SQL 和 NoSQL)的更多信息 有关网络编程的更多信息

不过,“More on...”可能会更好地放在“Haskell Cookbook”中。

【讨论】:

并不是说我也不想了解更多关于这些的信息,但其中一些是暂时的——您对它们的兴趣可能会随着时间而改变。数据结构? Vector、repa 和 unordered 容器都是相当新的——很快还会出现什么?是的和快照?两年前应该是 Happs,然后是 Happstack。不要让我开始谈论网络方面的事情。 @TomMD:你说得对,这些主题中的大多数根本不会过时,但恕我直言,对于伟大的“永恒”Haskell 书籍来说,已经有足够的好书了。【参考方案3】:

这些不太“真实世界”,但我希望看到有用的介绍(以及可能的真实世界应用程序?)

神灵 Haskell 模板 箭头

【讨论】:

箭头...也不错!我真的很喜欢 this 关于这个主题的文章...【参考方案4】:

我一直想问这个完全相同的问题!如果它包含到目前为止列表中的项目,我会购买 RWH vol2。我也想提供真实世界的例子(不分先后)

GADT 类型族 异构列表技术 Typeclassopedia 标准类型类的样式表示 杨洋的Type Technology Tree更全面的解释 唱片/镜头

【讨论】:

Lenses are the coalgebras for the costate comonad ??! ...天哪!...以前从未听说过:)【参考方案5】:

我希望看到函数式响应式编程的“RWH 方法”——this 的 RWH 版本,可能涵盖 Yampa 或类似的东西。但也许这个话题还不够“真实”……

【讨论】:

【参考方案6】:

我最近才接触 Haskell,只阅读了本书的几章和 Graham Hutton 的 Programming in Haskell 然而,我不得不同意Alexander,因为我很想看到一本“Haskell Cookbook”以及更新的 RWH 版本(因为我还没有完成这对我个人来说并不重要! )。

建议示例代码与日期、生成随机数和执行关键算法(排序等)的最有效代码将是一个很好的补充这样的书!

【讨论】:

RWH 在monad chapter中有一个关于随机数的部分 我指的是这可能包含在食谱中,而不是 RWH。但感谢您提供有趣的链接。

以上是关于哪些 Haskell 主题需要以 Real-World-Haskell 风格解决?的主要内容,如果未能解决你的问题,请参考以下文章

惯用的 Haskell 中如何实现动态规划算法?

数据仓库模型设计

在 Haskell 中自动插入惰性

半漫:Haskell程序员的进化

Haskell PolyKinds 扩展和类型族

做一个WordPress主题需要哪些准备