packages feed

gambler-0.4.1.0: changelog.md

## 0.4.1.0 (2023-03-09)

`Will (..)` and `Vitality (..)` are now re-exported from
`Fold.Shortcut` and `Fold.ShortcutNonempty`; previously these
were only available from `Fold.Shortcut.Type` and
`Fold.ShortcutNonempty.Type`.

A new utility `repeatedly` has been added to `Fold.Pure`,
`Fold.Nonempty`, `Fold.Shortcut`, and `Fold.ShortcutNonempty`.

New utilities `motivate`, `premap`, and `withVitality` and a new
type alias `Vitality'` have been added to `Fold.Shortcut` and
`Fold.ShortcutNonempty`.

## 0.4.0.0 (2023-03-08)

Changed `ShortcutFold` from

```haskell
data ShortcutFold a b = forall x y. ShortcutFold
    { initial     :: Vitality x y
    , step        :: y -> a -> Vitality x y
    , extractDead :: x -> b
    , extractLive :: y -> b }
```

to

```haskell
data ShortcutFold a b = forall x y. ShortcutFold
    { initial :: Vitality x y
    , step    :: y -> a -> Vitality x y
    , extract :: Vitality x y -> b }
```

Changed `ShortcutNonemptyFold` from

```haskell
data ShortcutNonemptyFold a b = forall x y. ShortcutNonemptyFold
    { initial     :: a -> Vitality x y
    , step        :: y -> a -> Vitality x y
    , extractDead :: x -> b
    , extractLive :: y -> b }
```

to

```haskell
data ShortcutNonemptyFold a b = forall x y. ShortcutNonemptyFold
    { initial :: a -> Vitality x y
    , step    :: y -> a -> Vitality x y
    , extract :: Vitality x y -> b }
```

Added `Fold.Shortcut.duplicate` and `Fold.ShortcutNonempty.duplicate`.

(The type changes make the `duplicate` functions possible.)

## 0.3.0.0 (2023-03-07)

In the `Fold.ShortcutNonempty` module, the type of `list` and
`reverseList` has changed from `ShortcutNonemptyFold a [a]`
to `ShortcutNonemptyFold a (NonEmpty a)`.

## 0.2.0.0 (2023-02-22)

The "Examples" modules are no longer divided into "Interesting" and "Boring"
modules in the public API, because this leads to too many breaking releases.

`NonemptyFold` and `ShortcutNonemptyFold` now have their own `sum` and `product`
definitions instead of being lifted variants of the `Fold` and `ShortcutFold`
definitions. This makes it possible to use them with numeric types that do not
include additive or multiplicative identity values. For example, we now have a
test case which takes the sum over a non-empty list of positive integers. Since
a "positive integer" type does not include zero, previously this would result in
arithmetic underflow.

## 0.1.0.0 (2023-02-20)

Adds `ShortcutFold` and `ShortcutNonemptyFold`.

The following have changed from `Fold` to `ShortcutFold`:
`and`, `or`, `all`, `any`, `element`, `notElement`, `find`,
`lookup`, `index`, `findIndex`, `elementIndex`, `null`.

`first` has changed from `NonemptyFold` to `ShortcutNonemptyFold`.

## 0.0.1.0 (2023-02-20)

Add `Fold.Nonempty.effectfulFold`; this was already available from
`Fold.Nonempty.Conversion`, but now it is also re-exported from `Fold.Nonempty`.

## 0.0.0.1 (2023-02-17)

Remove benchmark, which was broken

## 0.0.0.0 (2023-01-07)

Initial release