@@ -24,7 +24,7 @@ import qualified Data.Set as S( fromList, member )
24import Data.Char
24import Data.Char
25import Data.Word
25import Data.Word
27−compile :: ClassifyMap -> [Char] -> KClass
27+compile :: ClassifyMap -> String -> KClass
28compile table = cl' where
28compile table = cl' where
29 -- take all prefixes and create a set of these
29 -- take all prefixes and create a set of these
30 prefixSet = S.fromList $ concatMap (init . inits . fst) $ table
30 prefixSet = S.fromList $ concatMap (init . inits . fst) $ table
@@ -51,7 +51,7 @@ compile table = cl' where
51 -- neither a prefix or a full event.
51 -- neither a prefix or a full event.
52 [] -> Invalid
52 [] -> Invalid
54−classify :: ClassifyMap -> [Char] -> KClass
54+classify :: ClassifyMap -> String -> KClass
55classify table =
55classify table =
56 let standardClassifier = compile table
56 let standardClassifier = compile table
57 in \s -> case s of
57 in \s -> case s of
@@ -64,7 +64,7 @@ classify table =
64 c:cs | ord c >= 0xC2 -> classifyUtf8 c cs
64 c:cs | ord c >= 0xC2 -> classifyUtf8 c cs
65 _ -> standardClassifier s
65 _ -> standardClassifier s
67−classifyUtf8 :: Char -> [Char] -> KClass
67+classifyUtf8 :: Char -> String -> KClass
68classifyUtf8 c cs =
68classifyUtf8 c cs =
69 let n = utf8Length (ord c)
69 let n = utf8Length (ord c)
70 (codepoint,rest) = splitAt n (c:cs)
70 (codepoint,rest) = splitAt n (c:cs)