我试图围绕这篇文章:
http://www.haskell.org/haskellwiki/Scrap_your_boilerplate
即使我知道fmap是什么以及仿函数是什么(感谢"Learn you a haskell for great good"),我也无法理解这篇文章。有人可以用简单的语言向我解释Haskell是如何废弃样板的吗?
答案 0 :(得分:5)
如果你是haskell的新手,你可能不应该担心SYB。它不是基本的甚至是常用的东西(我自己从未使用过它)。
SYB是Haskell的库包,不是Haskell本身的一部分,甚至不是基本库之一。见这里:http://www.cs.uu.nl/wiki/GenericProgramming/SYB
您可能需要仔细阅读(最后一篇论文)http://research.microsoft.com/en-us/um/people/simonpj/papers/hmap/
答案 1 :(得分:4)
http://foswiki.cs.uu.nl/foswiki/GenericProgramming/SYB可能是一个更好的资源来阅读SYB(一些链接被破坏,因为haskell.org
上的某些内容已经更改了网址,但其余内容正在工作)。
通常回答你的问题,这是主页上的引用:
数据类型 - 通用编程
数据类型 - 泛型编程包括定义数据类型结构的函数,而不是数据类型本身。通过这种方式,可以定义适用于许多不同数据类型的函数。
在SYB中,数据类型的结构不直接暴露给程序员。相反,通用组合器用于定义通用函数。这些组合器是使用Data和Typeable类的基本函数实现的。