私は 10000 もの処理を行う haskell プログラムを作成しました。さて、念のため、100 万で実行してstack space overflow
.
私は、foldr/foldl の問題と怠惰によって引き起こされる可能性のある問題を認識していますが、現在、コードのどの部分がこれを引き起こしているのか見当がつきません。
そのような問題に取り組む良い方法は何ですか?
私は 10000 もの処理を行う haskell プログラムを作成しました。さて、念のため、100 万で実行してstack space overflow
.
私は、foldr/foldl の問題と怠惰によって引き起こされる可能性のある問題を認識していますが、現在、コードのどの部分がこれを引き起こしているのか見当がつきません。
そのような問題に取り組む良い方法は何ですか?
Debug.Traceモジュールがそのような場合に役立つことがわかりました。あなたのコードを見なければ、有用な例を示すことは困難ですが、そのドキュメントを見れば、おそらく役立つものが見つかるでしょう。
それ以外の場合は、呼び出しスタックをいっぱいにする可能性のある末尾以外の再帰についてコードを調べます。