私は非常に長いリストと大きなツリーを扱っています。
時々私はこのエラーを見つけるでしょう:
surgery a;;
Characters 8-9:
surgery a;;
^
Error: This expression has type int t/1044
but an expression was expected of type 'a t/1810
# type 'a t = | Leaf of ('a -> 'a -> int)
| Node of 'a * 'a t * 'a t * ('a -> 'a -> int)
その種のエラーがどのタイプのものかはわかりませんが、ある種のオーバーフローだと思います。タイプは正しく一致しますが、タイプに続くバックスラッシュの後に大きな数字があります。この場合は 1044 と 1810です。
今回は の前にいくつかのコードを実行しsurgery a
ました。現在のトップレベルを殺して最初からやり直すと、surgery a
実行されます。
私の質問は次のとおり
です。1.このエラーは正確には何ですか?
2. いつ、どのように発生しますか?
3. 新しいトップレベルから再実行すると機能するのはなぜですか?
4. どのように対処すればよいですか?