File: CHANGELOG.markdown

package info (click to toggle)
haskell-free 5.0.2-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 428 kB
  • sloc: haskell: 4,249; ansic: 17; makefile: 2
file content (170 lines) | stat: -rw-r--r-- 5,387 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
5.0.1 [2018.03.07]
------------------
* Fix the build on old GHCs with `transformers-0.4`.

5 [2018.01.28]
--------------
* Add a `Semigroup` instance for `IterT`.
* Add `MonadFail` instances for `IterT` and `FreeT`.
* Add a `Comonad` instance for the free `Applicative`, `Ap`.
* Add `Control.Monad.Free.Ap` and `Control.Monad.Trans.Free.Ap` modules, based
  on the "Applicative Effects in Free Monads" series of articles by Will
  Fancher.
* Derive `Data` instances for `Free` and `Cofree`.
* `Control.Monad.Free.TH` now properly supports `template-haskell-2.11.0.0`. In
  particular, it now supports `GadtC` and `RecGadtC`, which are new
  `template-haskell` forms for representing GADTs.
* Add `telescoped_`, `shoots`, and `leaves` to `Control.Comonad.Cofree`
* Add the `Control.Applicative.Free.Fast` module, based on Dave Menendez's
  article "Free Applicative Functors in Haskell"
* Add `foldFreeT` to `Control.Monad.Trans.Free`
* Improve the `foldMap` and `cutoff` functions for
  `Control.Monad.Free.Church.F`, and add a `Traversable`
* Add a `MonadBase` instance for `FreeT`
* Add a performance test comparing Free and Church interpreters
* The use of `prelude-extras` has been removed. `free` now uses the
  `Data.Functor.Classes` module to give `free`'s datatypes instances of `Eq1`,
  `Ord1`, `Read1`, and `Show1`. Their `Eq`, `Ord`, `Read`, and `Show` instances
  have also been modified to incorporate these classes. For example, what
  previously existed as:

  ```haskell
  instance (Eq (f (Free f a)), Eq a) => Eq (Free f a) where
  ```

  has now been changed to:

  ```haskell
  instance (Eq1 f, Eq a) => Eq (Free f a) where
  ```
* Remove redundant `Functor` constraints from `Control.Alternative.Free`

4.12.4
------
* Removed a number of spurious class constraints.
* Support GHC 8

4.12.3
------
* Support `comonad` 5

4.12.2
------
* Add instances for `ExceptT`: like `ErrorT`, but without an `Error` constraint.
* Support `containers`
* Support `transformers` 0.5


4.12.1
------
* Support GHC 7.4

4.12
----
* Add instances of `MonadCatch` and `MonadThrow` from `exceptions` to `FT`, `FreeT` and `IterT`.
* `semigroupoids` 5, `profunctors` 5, and `bifunctors` 5 support.

4.11
-----
* Pass Monad[FreeT].fail into underlying monad
* Add `retractT`.
* Added `cutoff` for the church encoded free monad.
* `cutoff` now accepts negative numbers.
* Added `intersperseT` and `intercalateT`.
* Added `foldFree` and `foldF`.
* Added some new `template-haskell` toys.

4.10.0.1
------
* Fix for very old `cabal` versions where the `MIN_VERSION_foo` macros aren't negation friendly.

4.10
----
* Redefine `Alternative` and `MonadPlus` instances of `IterT` so that they apply to any underlying `Monad`.
  `mplus` or `<|>` is Capretta's `race` combinator; `mzero` or `empty` is a non-terminating computation.
* Redefine `fail s` for `IterT` as `mzero`, for any string `s`.
* Added `Control.Monad.Trans.Iter.untilJust`, which repeatedly retries a `m (Maybe a)` computation until
  it produces `Just` a value.
* Fix things so that we can build with GHC 7.10, which also uses the name `Alt` in `Data.Monoid`, and which exports `Monoid` from `Prelude`.

4.9
---
* Remove `either` support. Why? It dragged in a large number of dependencies we otherwise don't support, and so is probably best inverted.

4.8.0.1
-------
* Allow complation with older versions of `base`. (Foldable didn't add foldl' until base 4.6)

4.8
-----
* Added a `MonadFree` instance for `EitherT` (frrom the `either` package).
* Support for `transformers` 0.4

4.7.1
-----
* Added more versions of `cutoff`.

4.7
---
* Added `prelude-extras` support. This makes it possible to work without `UndecidableInstances` for most operations.
* Removed the `GHC_TYPEABLE` flag.

4.6.1
-----
* Added `hoistF`

4.6
---
* Víctor López Juan and Fabian Ruch added many documentation improvements and a whole host of proofs of correctness.
* Improvements in the template haskell code generator.
* Added instances for `MonadWriter` and `MonadCont` where appropriate, thanks to Nickolay Kudasov.
* Added `cutoff`, `iterTM`, and `never`.
* Made modifications to some `Typeable` and `Data` instances to work correctly on both GHC 7.8.1rc1 and 7.8.1rc2.
* Removed `Control.MonadPlus.Free`. Use `FreeT f []` instead and the result will be law-abiding.
* Replaced `Control.Alternative.Free` with a new approach that is law-abiding for left-distributive Alternatives.

4.5
-----
* Added `Control.Monad.Free.TH` with `makeFree` to make it easier to write free monads.
* Added missing instances for `MonadFix` and `MonadCont` where appropriate.

4.2
-----
* Added `Control.Monad.Trans.Iter` and `Control.Comonad.Trans.Coiter`.

4.1.1
-----
* Added a default signature to `wrap`, based on a construction by @fizruk.

4.0
---
* Updated to work with `semigroupoids` and `comonad` 4.0
* `instance ComonadCofree Maybe NonEmpty`
* `instance ComonadCofree (Const b) ((,) b)`

3.4.2
-----
* Generalized `liftF`.
* Added `iterM`

3.4.1
-----
* Added support for GHC 7.7's polykinded `Typeable`

3.4
---
* Added instance `MonadFree f (ContT r m)`

3.3.1
-----
* Refactored build system
* Removed upper bounds on my own intra-package dependencies

3.3
---
* Added `Control.Alternative.Free` and `Control.MonadPlus.Free`

3.2
---
* Added `Control.Free.Applicative`
* Moved `Control.Monad.Free.Church` from `kan-extensions` into this package.