私はここですべてをやろうとしていましたが、何も起こりませんでした。空のリストで呼び出すと、コードは正常に動作していますが、空のリスト[]を入れるとすぐに問題が起こります。それはダミーの種類 '警告し、次のコードにいくつかのエラーでポップアップ表示されます:ダミータイプSML
fun zip(xs1, x2) =
case xs1 of
[] => []
| (h1::t1) => (case x2 of
[] => []
| (h2::t2) => (h1, h2) ::zip(t1,t2));
出力は短いリストの長さの入力リストのヘッドでタプルの外に作成されたリストであると考えられます。この図でわかるように、少なくとも空のリストを持つ関数を呼び出すと、コンパイラが認識するコードではなく、コード自体にエラーはありません。
私は正直なところで何が起こっているのか分かりません。誰かがこのタイプのエラーが意味するものを私に説明してもらえますか?それを持たないコードをどうすれば修正できますか?