如何防止GHCi崩溃"由此?

时间:2017-10-04 17:06:04

标签: haskell ghci

我尝试运行此代码,最终导致GHCi无法使用。 意思是,命令行(Windows)最终没有响应任何输入,只是显示一个空行。

Prelude> b = ["Empty", "Discrete", "Distinct", "Defiant", "Useful", "Good", 
"Imperative", "Safe", "Lawful", "Unpresidented", "Decadent", "Rich", 
"Strong", "Marvelous", "Volatile", "Obtuse", "Acute", "Revolutionary", 
"Frank", "Regular"]
Prelude> length b
20
Prelude> import Data.Char
Prelude Data.Char> a = [ map toLower x | x <- a ]
Prelude Data.Char> a

...

1 个答案:

答案 0 :(得分:4)

这是完全预期和正常的行为。

 a = [ map toLower x | x <- a ]

a的递归定义,递归永远不会结束。注意等号两边的a。 GHCi没有崩溃,只是一直运行这个代码,直到你按Ctrl-C中断它。