All Versions
Latest Version
Avg Release Cycle
175 days
Latest Release
1516 days ago

Changelog History
Page 1

  • v0.6.2

    February 23, 2020
  • v0.6.1 Changes

    September 11, 2018
    • โž• Added the --only-macros command line flag. Does not splice lines, remove comments, or do trigraph replacement. It does macro processing and #line marker output (which can be disabled with the -P option)

    • ๐Ÿ”„ Changed the default configuration to emit #line markers. Can be disabled with -P.

  • v0.6.0 Changes

    September 11, 2018
    • โœ… Various bug fixes by @rahulmutt. These may change behavior not captured by the MCPP test suite.
    • โœ… Switch to unordered-containers from bytestring-trie for stackage compatibility
    • ๐Ÿ”จ Internal refactoring
  • v0.6.0.1

    September 11, 2018
  • v0.5.2

    March 27, 2018
  • v0.5.1 Changes

    โž• Added the expand API for pure macro processing (i.e. #includes are ignored).

  • v0.5.0 Changes

    • Redesigned library API ๐Ÿ”ง The Hpp module exports the main pieces. Hpp.Env, Hpp.Types, and Hpp.Config may be used for configuring the preprocessor.
  • v0.4.0 Changes

    • ๐Ÿ“œ Simplify the parsing machinery
    • ๐Ÿ’… Don't remove C++-style single-line comments
    • Don't error on unknown cpp directives Previously, a line beginning with "#-}" would cause an error
    • 0๏ธโƒฃ Don't do trigraph replacement by default. Haskell allows "??" in operator names and you can be sure lens uses it!
  • v0.3.1 Changes

    โž• Address a change wherein GHC 8 will pass -include arguments without a space between "-include" and the file to be included.

  • v0.3 Changes

    Switch to a stream processing model.

    This library is designed to have minimal dependencies, so we now have a bespoke implementation of a cross between the pipes and machines libraries included.

    ๐Ÿ“œ This change was done to make some parsing operations easier, believe it or not. For example, most pre-processing ๐Ÿ‘ is done on a line-by-line basis, but we must also support macro function applications that cross line boundaries. Thus the expansion logic can not merely be given one line at a time from an input file. Previously, a heuristic tried to combine consecutive lines ๐Ÿ“œ before the parsing stage. Now, the parser itself is able to pull tokens in across lines when necessary.

    TL;DR: The upshot is that processing /usr/include/stdio.h on OS X (a surprisingly complicated file!) now uses 78% of the time and 0.38% the memory of previous versions of hpp.