packages feed

HListPP-0.2: HListPP.cabal

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 <vogt.adam@gmail.com>
maintainer:          Adam Vogt <vogt.adam@gmail.com>
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