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
我需要限制元件在「的一組類型是可比較:(存在與類型的函數:'a * 'a -> order
)。
如何實現它?
看看如何定義SML/NJ庫中的ORD_SET簽名:http://www.smlnj.org/doc/smlnj-lib/Manual/ord-set.html#ORD_SET:SIG: SPEC –
另外,您想要的內容不能以SML中的安全方式書寫。我撰寫了兩篇與此主題相關的博文: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。 –