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