HListPP 0.2 → 0.2.1
raw patch · 3 files changed
+19/−6 lines, 3 filesdep ~base
Dependency ranges changed: base
Files
- ChangeLog +5/−0
- HListPP.cabal +5/−4
- HListPP.hs +9/−2
ChangeLog view
@@ -1,3 +1,8 @@+Nov 6 2015+Release 0.2.1++Change base dependency bounds+ May 28 2014 Release 0.2 Report filename given an error.
HListPP.cabal view
@@ -1,5 +1,5 @@ name: HListPP-version: 0.2+version: 0.2.1 synopsis: A preprocessor for HList labelable labels description: A preprocessor that replaces @`longDescriptiveName@ with .@@ -44,13 +44,14 @@ cabal-version: >=1.10 extra-source-files: ChangeLog -library- default-language: Haskell2010+source-repository head+ type: darcs+ location: http://code.haskell.org/~aavogt/HListPP executable HListPP main-is: HListPP.hs other-extensions: QuasiQuotes, ViewPatterns- build-depends: base >=4.6 && <4.8,+ build-depends: base >=4.6 && <4.9, applicative-quoters >=0.1 && <0.2, regex-applicative >=0.3 && <0.4 default-language: Haskell2010
HListPP.hs view
@@ -14,15 +14,22 @@ -- "ModuleName." modNameDot = [ado| m <- psym isUpper- odName <- many (psym isAlpha)+ odName <- many (psym isAlpha <|> psym isDigit) dot <- sym '.' m:odName ++ [dot] |] -- "M.Od.Ule.Name.something" qualIdent = [ado| modNames <- many modNameDot- end <- some (psym isAlpha)+ end <- identSym <|> identAlpha concat (modNames ++ [end]) |]++identSym = some (psym isSymbol)++identAlpha = [ado|+ i <- psym isAlpha+ dent <- many (psym isAlpha <|> psym isDigit <|> sym '\'')+ i:dent |] takeQual x = case findLongestPrefix qualIdent x of Just (a , '`' : rest) -> ('`' : a ++ "`", rest) -- `infix`