From 0d571468e79c65677809df1385d413acf98be712 Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Sun, 8 Sep 2024 05:05:16 +0100 Subject: [PATCH] use signature for StringSet --- src/string-set.sml | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/string-set.sml b/src/string-set.sml index 08c7a22..8c3be90 100644 --- a/src/string-set.sml +++ b/src/string-set.sml @@ -1,4 +1,27 @@ -structure StringSet = +signature STRING_SET = +sig + type t + + val empty: t + + val isEmpty: t -> bool + + val fromString: string -> t + + val exists: string * t -> bool + + val getPrefixList: string * t -> string list + + val insert: string * t -> t + + val remove: string * t -> t + + val fromList: string list -> t + + val toList: t -> string list +end + +structure StringSet: STRING_SET = struct datatype t = CHILDREN of {keys: string vector, children: t vector}