Ich möchte ein vergleichbares Set wie folgt schreiben.Wie erreicht man die Klasse von 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
Ich brauche das Element in ‚einem Mengentyp zu begrenzen vergleichbar zu sein: (es gibt eine Funktion mit Typ ist: 'a * 'a -> order
).
Wie erreichen?
Schauen Sie sich an, wie die 'ORD_SET'-Signatur aus der SML/NJ-Bibliothek definiert ist: http://www.smnnj.org/doc/smlnj-lib/Manual/ord-set.html#ORD_SET:SIG: SPEC –
Auch was Sie wollen, kann in SML nicht sicher geschrieben werden. Ich habe zwei Blogposts zu diesem Thema geschrieben: http://igstan.ro/posts/2017-04-08-a-safe-type-indexed-set-for-standard-ml.html und http: // igstan.ro/posts/2017-04-12-a-safe-type-indexed-set-for-standard-ml-errata.html. –