- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 haskell 的初学者,使用最新的 GHCi 2011.2.0.1。我经常遇到的一个挫折是,互联网和书籍中的示例(甚至来自官方 haskell.org 网站,例如 http://www.haskell.org/haskellwiki/State_Monad 的 example-2 )经常无法编译。并且需要进行几轮搜索和发布问题才能找出问题所在。甚至 RWH 书中的一些示例也不起作用。
这是新版本的 haskell 或 haskell 平台的问题吗?语言/平台是否正在开发且不稳定,或者只有示例已过时?不管怎样,对于新学生来说,找到正确的例子来学习的最佳方法是什么?
更具体地说,您能帮助修复上面提到的状态 monad 示例吗?
最佳答案
在这种情况下,问题在于 State
构造函数已在最新版本的 Monad Transformer Library 中删除。如果将 getNext
定义中的 State
替换为 state
,那么程序就可以正常工作。 (这是因为 State
被重新定义为 StateT Identity
,即身份 monad 上的状态 monad 转换器,因此单独的数据类型已被删除。如果您不这样做不知道这意味着什么,不用担心;它只是意味着每当您看到它时,都必须将 State
替换为 state
。)
网络上或 RWH 中现有示例的大多数问题都只是由于新版本的库造成的。 (我认为 RWH 示例的主要问题是 Parsec 示例是为 Parsec 2 编写的;Parsec 3 发生了很大变化,因此至少您可能需要添加一些导入。)
总的来说,Haskell 确实缺乏足够的最新、有用的资源; HaskellWiki 页面似乎没有维护。 (虽然 HaskellWiki 确实是 haskell.org 的官方网站,但页面是由用户编写和维护的,因此 wiki 上的某些内容并不一定意味着它是最新的或高质量的。)
删除了 State
的 Monad Transformer Library 版本于 2010 年 10 月发布,因此遗憾的是仍然有很多代码因此无法在新版本中使用。值得庆幸的是,修复很简单。
关于Haskell 示例通常不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9014218/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!