Changelog of @hackage/PyF 0.9.0.1

Revision history for PyF

0.9.0.1 -- 2020-03-25

  • Fixs for GHC 8.10

0.9.0.0 -- 2019-12-29

  • Any type with Show instance can be formatted using :s formatter. For example, [fmt|hello {(True, 10):s}|]. This breaks compatibility because previous version of PyF was generating an error when try to format to string anything which was not a string, now it accepts roughly anything (with a Show instance).

0.8.1.2 -- 2019-11-08

  • Bump megaparsec bounds

0.8.1.1 -- 2019-10-13

  • Compatibility with GHC 8.8

0.8.1.0 -- 2019-09-03

  • Precision can now be any arbitrary haskell expression, such as [fmt|hello pi = {pi:.{1 + 3}}|].

0.8.0.2 -- 2019-08-27

  • (minor bugfix in tests): Use python3 instead of "python" to help build on environment with both python2 and python3

0.8.0.1 -- 2019-08-27

  • Stack support

0.8.0.0 -- 2019-08-06

  • f (and fWithDelimiters) were renamed fmt (fmtWithDelimiters). f was causing too much shadowing in any codebase.
  • PyF now exposes the typeclass PyFToString and PyFClassify which can be extended to support any type as input for the formatters.
  • PyF now uses Data.String.IsString t as its output type if OverloadedString is enabled. It means that it behaves as a real haskell string literal.
  • A caveat of the previous change is that PyF does not have instances for IO anymore.

bugfixes and general improvements

  • An important amount of bugfixs
  • Error reporting for generic formatting (i.e. formatting without a specified type) is now more robust
  • Template haskell splices are simpler. This leads to more efficient / small generated code and in the event of this code appears in a GHC error message, it is more readable.
  • PyF now longer emit unnecessary default typing.

0.7.3.0 -- 2019-02-28

  • Tests: fix non reproducible tests

0.7.2.0 -- 2019-02-27

  • Fixed: PyF now uses the same haskell extensions as the one used by the current haskell file to parse sub expressions.

0.7.1.0 -- 2019-02-11

  • Fixed: PyF was wrongly ignoring everything located after a non-doubled closing delimiter.
  • New Feature: line break can be escaped with , thus allowing string to start on a new line ignoring the initial backspace

0.7.0.0 -- 2019-02-04

  • Bump dependencies to megaparsec 7
  • Error message are now tested
  • Name in template haskell splices are stable. This increases readability of error messages
  • Better error message for badly formated expression

Formatting removal

  • All monomorphic quasiquoters (f, fString, fText, fIO, fLazyText) are removed
  • Polymophic quasiquoter f' is renamed f and is the only entry point. Monomorphic users are encouraged to use the polymorphic quasiquoter with type annotation.
  • Formatting dependency is removed.
  • Previously named f quasiquoters which was exporting to Formatting.Format is removed. User of this behavior should use Formatting.now instead.

0.6.1.0 -- 2018-08-03

  • Custom delimiters, you can use whatever delimiters you want in place of { and }.

0.6.0.0 -- 2018-08-02

  • Fix the espace parsing of {{ and }} as { and }

0.5.0.0 -- 2018-04-16

  • Support for negative zero
  • Support for 0 modifier
  • Exponential formatter now behaves as python
  • Support for alternate floatting point represenation
  • Lot of documentation
  • Test are auto verified with the python reference implementation

0.4.0.0 -- 2018-04-13

  • Support for grouping option
  • Support for inner allignment
  • Correct display of NaN and Infinity
  • Fix a few cosmetic with python implementation
  • Introduce PyF.Formatters, type safe generic number formatter solution
  • Remove dependency to scientific

0.3.0.0 -- 2018-04-01

  • Support for haskell subexpression

0.1.1.0 -- 2018-01-07

  • Add support for the sign field.

0.1.0.0 -- 2018-01-03

  • First version. Released on an unsuspecting world.