2
以下の比較セットを書いてみたいと思います。smlのタイプクラスの達成方法
signature COMPARABLE_SET=
sig
type 'a set
val empty: 'a set
val insert: 'a * 'a set -> 'a set
val member: 'a * 'a set -> bool
end
Iは匹敵するセットタイプ」の要素を限定する必要があります(タイプの関数がある:'a * 'a -> order
)が。
どのように達成するには?
SML/NJライブラリからの 'ORD_SET'署名がどのように定義されているかを見てみましょう:http://www.smlnj.org/doc/smlnj-lib/Manual/ord-set.html#ORD_SET:SIG: SPEC –
また、あなたが望むものはSMLで安全な方法で書くことはできません。私はこのトピックに関連する2つのブログ記事を書いた:http://igstan.ro/posts/2017-04-08-a-safe-type-indexed-set-for-standard-ml.htmlとhttp:// igstan.ro/posts/2017-04-12-a-safe-type-indexed-set-for-standard-ml-errata.html。 –