2019-04-14 22:07:37 +03:00
|
|
|
# Changelog for polysemy
|
|
|
|
|
2019-07-05 05:05:51 +03:00
|
|
|
## 0.6.0.0 (2019-07-04)
|
|
|
|
|
|
|
|
### Breaking Changes
|
|
|
|
|
|
|
|
- Changed the type of `runBatchOutput` to be more useful (thanks to @Infinisil)
|
|
|
|
|
|
|
|
### Other Changes
|
|
|
|
|
|
|
|
- **THE ERROR MESSAGES ARE SO MUCH BETTER** :party: :party: :party:
|
|
|
|
- Added `runEmbedded` to `Polysemy.IO`
|
|
|
|
- Added `runOutputAsList` to `Polysemy.Output` (thanks to @googleson78)
|
|
|
|
- Asymptotically improved the performance of `runTraceAsList` (thanks to
|
|
|
|
@googleson78)
|
|
|
|
|
2019-06-28 23:19:33 +03:00
|
|
|
## 0.5.1.0 (2019-06-28)
|
|
|
|
|
|
|
|
- New combinators for `Polysemy.Error`: `fromEither` and `fromEitherM`
|
|
|
|
|
2019-06-27 07:36:43 +03:00
|
|
|
## 0.5.0.1 (2019-06-27)
|
|
|
|
|
|
|
|
- Fixed a bug where `intercept` and `interceptH` wouldn't correctly handle
|
|
|
|
higher-order effects
|
|
|
|
|
2019-06-26 07:29:26 +03:00
|
|
|
## 0.5.0.0 (2019-06-26)
|
|
|
|
|
|
|
|
### Breaking Changes
|
|
|
|
|
|
|
|
- Removed the internal `Effect` machinery
|
|
|
|
|
|
|
|
### New Effects and Interpretations
|
|
|
|
|
|
|
|
- New effect; `Async`, for describing asynchronous computations
|
|
|
|
- New interpretation for `Resource`: `runResourceBase`, which can lower
|
|
|
|
`Resource` effects without giving a lowering natural transformation
|
|
|
|
- New interpretation for `Trace`: `runTraceAsList`
|
|
|
|
- New combinator: `withLowerToIO`, which is capable of transforming
|
|
|
|
`IO`-invariant functions as effects.
|
|
|
|
|
|
|
|
### Other Changes
|
|
|
|
|
|
|
|
- Lots of hard work on the package and CI infrastructure to make it green on
|
|
|
|
GHC 8.4.4 (thanks to @jkachmar)
|
|
|
|
- Changed the order of the types for `runMonadicInput` to be more helpful
|
|
|
|
(thanks to @tempname11)
|
|
|
|
- Improved the error machinery to be more selective about when it runs
|
|
|
|
- Factored out the TH into a common library for third-party consumers
|
|
|
|
|
2019-06-12 16:40:08 +03:00
|
|
|
## 0.4.0.0 (2019-06-12)
|
|
|
|
|
|
|
|
### Breaking Changes
|
|
|
|
|
|
|
|
- Renamed `runResource` to `runResourceInIO`
|
|
|
|
|
|
|
|
### Other Changes
|
|
|
|
|
|
|
|
- Added `runResource`, which runs a `Resource` purely
|
|
|
|
- Added `onException`, `finally` and `bracketOnError` to `Resource`
|
|
|
|
- Added a new function, `runResource` which performs bracketing for pure code
|
|
|
|
|
2019-06-09 07:22:20 +03:00
|
|
|
## 0.3.0.1 (2019-06-09)
|
|
|
|
|
|
|
|
- Fixed a type error in the benchmark caused by deprecation of `Semantic`
|
|
|
|
|
2019-06-02 06:43:41 +03:00
|
|
|
## 0.3.0.0 (2019-06-01)
|
|
|
|
|
2019-06-12 16:40:08 +03:00
|
|
|
### Breaking Changes
|
|
|
|
|
2019-06-02 06:43:41 +03:00
|
|
|
- Removed all deprecated names
|
|
|
|
- Moved `Random` effect to `polysemy-zoo`
|
2019-06-12 16:40:08 +03:00
|
|
|
|
|
|
|
### Other Changes
|
|
|
|
|
2019-06-02 06:43:41 +03:00
|
|
|
- `makeSem` can now be used to create term-level operators (thanks to
|
|
|
|
@TheMatten)
|
|
|
|
|
2019-05-31 07:10:52 +03:00
|
|
|
## 0.2.2.0 (2019-05-30)
|
|
|
|
|
|
|
|
- Added `getInspectorT` to the `Tactical` functions, which allows polysemy code
|
|
|
|
to be run in external callbacks
|
|
|
|
- A complete rewrite of `Polysemy.Internal.TH.Effect` (thanks to @TheMatten)
|
|
|
|
- Fixed a bug in the TH generation of effects where the splices could contain
|
|
|
|
usages of effects that were ambiguous
|
|
|
|
|
2019-05-28 22:52:53 +03:00
|
|
|
## 0.2.1.0 (2019-05-27)
|
|
|
|
|
|
|
|
- Fixed a bug in the `Alternative` instance for `Sem`, where it would choose the
|
|
|
|
*last* success instead of the first
|
|
|
|
- Added `MonadPlus` and `MonadFail` instances for `Sem`
|
|
|
|
|
2019-05-23 10:53:07 +03:00
|
|
|
## 0.2.0.0 (2019-05-23)
|
|
|
|
|
2019-06-12 16:40:08 +03:00
|
|
|
### Breaking Changes
|
|
|
|
|
|
|
|
- Lower precedence of `.@` and `.@@` to 8, from 9
|
|
|
|
|
|
|
|
### Other Changes
|
|
|
|
|
2019-05-23 10:53:07 +03:00
|
|
|
- Fixed a serious bug in `interpretH` and friends, where higher-order effects
|
|
|
|
would always be run with the current interpreter.
|
2019-05-24 00:06:24 +03:00
|
|
|
- Users need no longer require `inlineRecursiveCalls` --- the
|
|
|
|
`polysemy-plugin-0.2.0.0` will do it automatically when compiling with `-O`
|
|
|
|
- Deprecated `inlineRecursiveCalls`; slated for removal in the next version
|
2019-05-23 10:53:07 +03:00
|
|
|
|
2019-05-18 18:42:14 +03:00
|
|
|
## 0.1.2.1 (2019-05-18)
|
|
|
|
|
|
|
|
- Give explicit package bounds for dependencies
|
|
|
|
- Haddock improvements
|
|
|
|
- Remove `Typeable` machinery from `Polysemy.Internal.Union` (thanks to
|
|
|
|
@googleson78)
|
|
|
|
|
2019-04-26 19:18:44 +03:00
|
|
|
## 0.1.2.0 (2019-04-26)
|
|
|
|
|
|
|
|
- `runInputAsReader`, `runTraceAsOutput` and `runOutputAsWriter` have more
|
|
|
|
generalized types
|
|
|
|
- Added `runStateInIO`
|
|
|
|
- Added `runOutputAsTrace`
|
|
|
|
- Added `Members` (thanks to @TheMatten)
|
|
|
|
|
|
|
|
|
2019-04-14 22:07:37 +03:00
|
|
|
## 0.1.1.0 (2019-04-14)
|
|
|
|
|
2019-04-26 18:58:47 +03:00
|
|
|
- Added `runIO` interpretation (thanks to @adamConnerSax)
|
2019-04-14 22:07:37 +03:00
|
|
|
- Minor documentation fixes
|
|
|
|
|
|
|
|
|
|
|
|
## 0.1.0.0 (2019-04-11)
|
|
|
|
|
|
|
|
- Initial release
|
2019-02-13 23:52:56 +03:00
|
|
|
|
|
|
|
## Unreleased changes
|
2019-04-20 13:00:55 +03:00
|
|
|
|
2019-07-07 21:36:51 +03:00
|
|
|
- Changed the tyvars of `fromEitherM`, `runErrorAsAnother`, `runEmbedded`,
|
|
|
|
`asks` and `gets`
|
|
|
|
|