如何防止GHCI评估无限流?

时间:2016-02-24 21:10:57

标签: haskell ghci

有时使用GHCI时,我会意外地尝试评估无限流(例如[1..])。它不断打印...打印...打印......和打印......所以问题是停止打印的唯一方法是退出控制台,丢失我已经完成的所有内容那个会议。有没有办法让GHCI默认只从列表中获取前几个x项?

1 个答案:

答案 0 :(得分:2)

只需使用 Ctrl + C 来中断该过程:

Prelude > let x = 1
Prelude > [1..]
lots of stuff... Interrupted.
Prelude > print x
1

除此之外,我相信除了开始用take编写表达式以确保输出有限之外,你无法真正做任何事情......最后列表只有一个可能无限的输出和ghci不能可靠地知道什么需要缩短和什么不。他只是show结果并输出它。