The notcpp package
notcpp is a library that attempts to provide an alternative to using CPP as a mechanism for conditional compilation. It provides facilities for determining if specific names or class instances exist and responding accordingly.
When a value or class instance appears between minor releases of a third-party package, a common way of dealing with the problem is to use CPP to conditionally use one block of code or another. The trouble with CPP is it's hard to statically analyse: tools based on haskell-src-exts will outright refuse to parse it, for example. It turns out Template Haskell will do the same job in some cases.
notcpp is largely a proof-of-concept, experimental package: you are welcome to use it if it suits you, but it may be liable to change suddenly.
Properties
| Versions | 0.0.1, 0.1, 0.1.0.1, 0.2, 0.2.0.1, 0.2.0.2 |
|---|---|
| Dependencies | base (<5), template-haskell (≥2.5 & <2.8) |
| License | BSD3 |
| Copyright | 2012 Ben Millwood |
| Author | Ben Millwood <haskell@benmachine.co.uk> |
| Maintainer | Ben Millwood <haskell@benmachine.co.uk> |
| Category | Template Haskell |
| Bug tracker | https://github.com/benmachine/notcpp/issues |
| Source repository | git clone git://github.com/benmachine/notcpp |
| Upload date | Wed May 30 18:08:46 UTC 2012 |
| Uploaded by | BenMillwood |
| Build failure | ghc-7.4 (log) |
Modules
- NotCPP
- NotCPP.LookupValueName
- NotCPP.OrphanEvasion
- NotCPP.ScopeLookup
Downloads
- notcpp-0.1.tar.gz (Cabal source package)
- package description (included in the package)