on master help sign in
Merge pull request #2 from typeable/enum-case
8acbc16Vladislav Zavialov
src/Data/THGen/Enum.hs+4−4
@@ -25,7 +25,7 @@ module Data.THGen.Enum
25 ) where
25 ) where
26
26
27import Control.Applicative
27import Control.Applicative
28−import Control.Lens (over, _head)
28+import Control.Lens (over, _head, (<&>))
29import Control.Monad
29import Control.Monad
30import qualified Data.Char as C
30import qualified Data.Char as C
31import qualified Language.Haskell.TH as TH
31import qualified Language.Haskell.TH as TH
@@ -62,11 +62,11 @@ mangleEnumConName
62 . words
62 . words
63
63
64enumGenerate :: EnumDesc -> TH.DecsQ
64enumGenerate :: EnumDesc -> TH.DecsQ
65−enumGenerate (EnumDesc exh strName strVals') = do
65+enumGenerate (EnumDesc exh strName strVals) = do
66 let
66 let
67 name = TH.mkName strName
67 name = TH.mkName strName
68− strVals = map mangleEnumConName strVals'
68+ vals = strVals <&> \strVal ->
69− vals = map (\strVal -> TH.mkName (strName ++ strVal)) strVals
69+ TH.mkName (strName ++ mangleEnumConName strVal)
70 unknownVal = TH.mkName ("Unknown" ++ strName)
70 unknownVal = TH.mkName ("Unknown" ++ strName)
71 dataDecl <- do
71 dataDecl <- do
72 let
72 let