packages feed

decision-diagrams-0.2.0.0: ChangeLog.md

# Changelog for `decision-diagrams` package

## 0.2.0.0

### Changes

* Make `Leaf :: Bool -> BDD a` as a basic constructor instead of
  `F`/`T` (in case of BDD) and `Empty`/`Base` (in case of ZDD), and
  remove `F`/`T`.

* `ZDD.toList` now returns sorted list

* Change signature of `fold` and `fold'` of BDD
  * Before: `b -> b -> (Int -> b -> b -> b) -> BDD a -> b`
  * After: `(Int -> b -> b -> b) -> (Bool -> b) -> BDD a -> b`

* Change signature of `fold` and `fold'` of ZDD (ditto)

* Add `HasCallStack` to some functions that are expected to raise excpetions

### Additions

* Introduce signature functor type (`Sig`)

* Add new operations:
  * BDD:
    * fixed point operators `lfp` and `gfp`
    * satisfiability related functions: `anySat`, `allSat`, `anySatComplete`, `allSatComplete`, `countSat`, `uniformSatM`
	* pseudo-boolean constraint functions: `pbAtLeast`, `pbAtMost`, `pbExactly`, `pbExactlyIntegral`
  * ZDD:
    * `combinations`
	* pseudo-boolean constraint functions: `subsetsAtLeast`, `subsetsAtMost`, `subsetsExactly`, `subsetsExactlyIntegral`
  * Both BDD and ZDD
    * `numNodes`
    * `unfoldHashable` and `unfoldOrd`

### Bug fixes

* Fix laziness of `fold` and `fold'`

### Other changes

* Introduced `doctest`

* Add other-extensions fields to `package.yaml`