import Text.Regex.Posix
import Data.Char
import Data.List
guessKeys line = concat $ intersperse "-" (modifiers ++ [map toLower key])
where modifiers = map (!!1) (line =~ "(mod|shift|control)Mask")
(_, _, _, [key]) = line =~ "xK_(\\w+)" :: (String, String, String, [String])
aaa line = map (!!1) (line =~ "(mod|shift|control)Mask")
bbb line = line =~ "xK_(\\w+)" :: (String, String, String, [String])
In ghci
>guessKeys "modF1"
"*** Exception: Test.hs:8:10-85: Irrefutable pattern failed for pattern (_, _, _
, [key])
> aaa "modF1"
<interactive>:1:0:
No instance for (Text.Regex.Base.RegexLike.RegexContext
Regex [Char] [[a]])
arising from a use of `aaa' at <interactive>:1:0-10
> bbb "modF1"
("modF1","","",[])
I just extract the functions from where clause of guessKeys. But why are there different running result ?
Sincerely!
fac n = foldr (*) 1 [1..n]