如何防止 GHCi 受到 "crashing" 的影响?
How do I prevent GHCi from "crashing" from this?
我试过 运行 这段代码,结果导致 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
......
这是完全预期的正常行为。
a = [ map toLower x | x <- a ]
是a
的递归定义,递归永无止境。注意等号两边的a
。 GHCi 不会崩溃,它只会一直运行此代码,直到您按 Ctrl-C 中断它。
我试过 运行 这段代码,结果导致 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
......
这是完全预期的正常行为。
a = [ map toLower x | x <- a ]
是a
的递归定义,递归永无止境。注意等号两边的a
。 GHCi 不会崩溃,它只会一直运行此代码,直到您按 Ctrl-C 中断它。