name: HListPP version: 0.2 synopsis: A preprocessor for HList labelable labels description: A preprocessor that replaces @`longDescriptiveName@ with . > hLens' (Label :: Label "longDescriptiveName") . Use with ghc flags @-F -pgmF HListPP@, which can be added per-file with a pragma: . > ❴-# OPTIONS_GHC -F -pgmF HListPP #-❵ -- change braces to ascii (haddock doesn't allow literal comments in files) . Note that @`labels@ is expanded to something that takes up about 26 more columns. To avoid issues with layout, put a newline after keywords that introduce layout, at least if there are @`labels@ in the same row. In other words: . > `character.`position.`x %= \ x -> let > msg = "a really long message about x>0" > pos = x - 5 > in if pos < 0 > then error msg > else pos . Instead of . > `character.`position.`x %= \ x -> let msg = "a really long message about x>0" > pos = x - 5 > in if pos < 0 > then error msg > else pos . A blank library is included in this package to make it possible to depend on HListPP homepage: http://code.haskell.org/~aavogt/HListPP license: BSD3 license-file: LICENSE author: Adam Vogt maintainer: Adam Vogt category: Development build-type: Simple cabal-version: >=1.10 extra-source-files: ChangeLog library default-language: Haskell2010 executable HListPP main-is: HListPP.hs other-extensions: QuasiQuotes, ViewPatterns build-depends: base >=4.6 && <4.8, applicative-quoters >=0.1 && <0.2, regex-applicative >=0.3 && <0.4 default-language: Haskell2010