型を持つ可能な関数fooは何でしょうか
’a * ’a -> int
MLで。つまり、次のタイプの出力を持つ関数
これは宿題のようですので、部分的な解決策といくつかのヒントのみを提供します。必要な型は a'a * 'a -> int
であるため、適切な関数のスケルトンは次のようになります (標準 ML を使用していると仮定します)。
fun foo(x, y) = ???
は???
2 つの要件を満たす必要があります。同じ型を持つx
とを強制する式が含まれている必要がy
あり、整数を返す必要があります。後者は難しくないはずです。前者については、SML には多くの可能性があります。たとえば、それらを同じリストに入れたり、同じif
orの分岐からそれらを返しcase
たりしhandle
ます。