そのようなコードを考えてみましょう:
fun equals(a : 'a,b : 'a) =
a = b;
私のコードはより大きくなりますが、これが問題です。SML が「エラー: 演算子とオペランドが一致しません」と報告します。
私は SML の完全な初心者であり、不平を言う理由がわかりません。これは、どのタイプの 2 つの値も実際には比較できないという C# の問題に似ていますが、そのタイプにはデフォルトの等値比較子を使用する必要がありますか? 何らかの制約を追加する必要がありますか'a
(ジェネリック型として正しく記述したことを願っています)。