相关疑难解决方法(0)

有限理解无限列表

我在ghci中输入以下内容,认为会发生以下两种情况之一:1)解释器会挂起,搜索无限列表中的每个成员以匹配谓词; 或者2)通过幕后的Haskell jujitsu,解释器会以某种方式弄清楚序列终止于4并停在那里.

[x | x <- [1..],5>x]
Run Code Online (Sandbox Code Playgroud)

结果1是发生了什么.现在,结果2有很多要求.但是既然人类可以证明序列终止于4,那么可能有办法让翻译来做吗?这可以以它终止的方式重写吗?事实上,有一个谓语,这使得有限的理解出无限的名单?

haskell

16
推荐指数
2
解决办法
2966
查看次数

如何在Haskell中过滤无限列表

可能重复:
对无限列表的有限理解

我无法理解为什么ghci无法正确计算此代码?

[x | x <- [1..], x < 1000]
Run Code Online (Sandbox Code Playgroud)

Ghci只是停在最后一个号码,我需要在命令行中断这个过程以恢复正常状态.怎么了?我希望这段代码可以工作,因为haskell的懒惰评估.

haskell

13
推荐指数
2
解决办法
2965
查看次数

标签 统计

haskell ×2