2017-10-04 23 views
0

このコードを実行しようとしましたが、GHCiを使用できなくなってしまいました。 意味、コマンドライン(Windows)はすべての入力に応答せず、単純に空の行を表示しました。GHCiがこれから「クラッシュする」のを防ぐにはどうすればよいですか?

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 

......

+0

コードブロックでコードをフォーマットし、完全な質問をしてください。問題とは何ですか?何が起こっていますか? –

+0

あなたの質問を改善してください。 1)コードをスニペットとしてフォーマットする。 2)「長さa」の「a」がどこから来るのかは不明である。 3)正確に「使用不可」とはどういう意味ですか? – Yuras

+0

それは 'ghci'を使用できないようにしたのはどういう意味ですか? –

答えて

4

これは完全に予想されると正常な動作です。

は、再帰が決して終わらないaの再帰的定義です。等号の両側に注記a。 GHCiはクラッシュしていません.Ctrl + Cを押して中断するまで、このコードを常時実行します。

+0

私はハスケルが怠け者だと思った。なぜ定義を評価しているのですか? –

+3

@ MarkNeuあなたはインタプリタのプロンプトでそれを入力して印刷するように求めました。 –

+1

@ MarkNeu推測すると、 'a = [map toLower x | x < - b> 'である。最後の 'b'に注意してください! –

関連する問題