1signature CharSet =
2sig
3
4  type CharSet
5  val empty : CharSet
6  val singleton : char -> CharSet
7  val add : (CharSet * char) -> CharSet
8  val addList : (CharSet * char list) -> CharSet
9  val addString : (CharSet * string) -> CharSet
10  val member : CharSet * char -> bool
11  val isEmpty : CharSet -> bool
12
13  val union : CharSet * CharSet -> CharSet
14  val intersect : CharSet * CharSet -> CharSet
15
16  val listItems : CharSet -> char list
17
18end
19