packages feed

natural-0.5.0.1: changelog.md

0.5.0.1

* Hide `Natural` and `Positive` constructors from export
* Rewrite doctests to use prism-based construction for external module compatibility

0.5.0.0

* Add `NotZero` data type for non-zero integers (positive or negative)
  with `HasNotZero`, `AsNotZero` classes, `SumNotZero`, `MaxNotZero`,
  `MinNotZero` newtype wrappers, and functions: `positiveNotZero`,
  `negativeNotZero`, `notZeroPositive`, `notZeroInteger`, `isPositive`,
  `isNegative`, `negateNZ`, `absoluteNZ`, `signumNZ`, `plusNZ`,
  `multiplyNZ`, `notZeroOr`
* Add `AsPositive NotZero` instance
* Add `ToJSON` and `FromJSON` instances for `Natural`, `Positive`,
  `NotZero`, and all newtype wrappers (`ProductNatural`, `MaxNatural`,
  `MinNatural`, `SumPositive`, `MaxPositive`, `MinPositive`,
  `SumNotZero`, `MaxNotZero`, `MinNotZero`)
* Add `toJsonNatural`, `parseJsonNatural`, `toJsonPositive`,
  `parseJsonPositive`, `toJsonNotZero`, `parseJsonNotZero` functions
* Add `aeson` dependency
* Change `Semigroup Positive` from addition to multiplication
* Remove `Monoid Positive` (no additive identity for positives)
* Add `SumPositive` wrapper for addition of positives
* Remove redundant `notZero` function (identical to `_Positive` on `Natural`)
* Rename `square` to `power`, `square1` to `power1`
* Fix `(!!)` returning `Nothing` for index zero
* Fix `(!!!)` off-by-one indexing
* Fix `minus1` producing `Positive 0` when arguments are equal
* Fix `length` using lazy `foldl` (now strict `foldl'`)
* Add doctests to all functions and instances
* Modernise cabal file to cabal-version 2.4
* Add doctest test-suite and benchmarks
* Update repository to https://gitlab.com/system-f/code/natural

0.4.0.0

* Add `ToJSON` and `FromJSON` instances for `Natural`, `Positive`, and all newtype wrappers (`ProductNatural`, `MaxNatural`, `MinNatural`, `SumPositive`, `MaxPositive`, `MinPositive`).
* Add `toJsonNatural`, `parseJsonNatural`, `toJsonPositive`, `parseJsonPositive` functions.
* Add `aeson` dependency.
* Rename `square` to `power` and `square1` to `power1`.
* Fix `(!!)` which previously returned `Nothing` for all inputs.
* Fix `(!!!)` which previously returned `Nothing` for all inputs.
* Fix `multiply1` which was performing addition instead of multiplication.
* Fix `minus1` off-by-one when arguments are equal.
* Remove invalid `Monoid Positive` instance (`mempty` was `Positive 0`).
* Add Haddock documentation and doctests.

0.3.0.7

* Update version bounds

0.3.0.6

* Support `lens` up to `5.1`

0.3.0.5

* Support GHC 8.10.1.

0.3.0.4

* add `naturalPositive` iso and `instance AsPositive Natural` prism.

0.3.0.3

* added some more functions.

0.3.0.2

* fix bug in `zero` and `one` prisms.
* rename `Natural` to `Positive`.
* rename `Whole` to `Natural`.

0.2.0.2

* change `data Natural` to have a minimum bound of 1.
* add `data Whole` which has a minimum bound of 0.

0.1.0.2

* add `minus` function.
* add `one` and `one'` values.
* add `list` iso.

0.1.0.1

* Add support for GHC 7.10 and GHC 8.4.

0.1.0.0

* This change log starts.
* The initial version of natural.