The hpp package

[ Tags: bsd3, development, library, program ] [ Propose Tags ]

See the README for usage examples

[Skip to Readme]


Versions,,, 0.4.0, 0.4.1
Change log
Dependencies base (>=4.8 && <4.11), bytestring, bytestring-trie, directory, filepath, ghc-prim, hpp, semigroups (==0.18.*), time (>=1.5), transformers (>=0.4) [details]
License BSD3
Copyright (C) 2015-2016 Anthony Cowley
Author Anthony Cowley
Category Development
Home page
Source repository head: git clone
Uploaded Mon Jul 31 18:48:08 UTC 2017 by AnthonyCowley
Distributions LTSHaskell:0.4.1, NixOS:0.4.1, Stackage:0.4.1, Tumbleweed:0.4.0
Executables hpp
Downloads 561 total (31 in the last 30 days)
Rating 0.0 (0 ratings) [clear rating]
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-07-31 [all 1 reports]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees

Readme for hpp-0.4.1

[back to package description]

hpp is a Haskell pre-processor that is also a C90-compatible pre-processor (with the addition of a --cpp flag). It is packaged as both a library and an executable.

To use as a Haskell preprocessor for resolving #ifdef conditionals and macro expansion, an invocation might look like,

hpp -DDEBUG Foo.hs

To use as a C preprocessor, an invocation might look like,

hpp -DDEBUG --cpp foo.c

To have GHC use hpp as the C pre-processor, add this line to the top of a Haskell source file that makes use of the CPP LANGUAGE pragma,

{-# OPTIONS_GHC -cpp -pgmPhpp #-}

Or add this line to your .cabal file:

ghc-options: -pgmPhpp

Note that you will need to ensure that the hpp executable is available in your build environment (e.g. you can add hpp as a build-depends in your .cabal file).