From 039930a4b38af654ba7232c59ee55bd66c1de1d1 Mon Sep 17 00:00:00 2001 From: Sandy Maguire Date: Tue, 16 Nov 2021 15:10:50 -0800 Subject: [PATCH] Release polysemy-v1.7.0.0 and polysemy-plugin-v0.4.2.0 --- ChangeLog.md | 20 +++++++++++++++++++- package.yaml | 4 ++-- polysemy-plugin/ChangeLog.md | 4 ++++ polysemy-plugin/package.yaml | 4 ++-- polysemy-plugin/polysemy-plugin.cabal | 4 ++-- polysemy.cabal | 4 ++-- src/Polysemy/AtomicState.hs | 7 ++++--- 7 files changed, 35 insertions(+), 12 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index 491ce9b..0305c8b 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -6,7 +6,25 @@ ### Other Changes + +## 1.7.0.0 (2021-11-16) + +### Breaking Changes + * Added interpreters for `AtomicState` that run in terms of `State`. +* Removed `MemberWithError` +* Removed `DefiningModule` + +### Other Changes + +* The internal `ElemOf` proof is now implemented as an unsafe integer, + significantly cutting down on generated core. +* Polysemy no longer emits custom type errors for ambiguous effect actions. + These have long been rendered moot by `polysemy-plugin`, and the cases that + they still exist are usually overeager (and wrong.) +* As a result, the core produced by `polysemy` is significantly smaller. + Programs should see a reduction of ~20% in terms and types, and ~60% in + coercions. ## 1.6.0.0 (2021-07-12) @@ -44,7 +62,7 @@ ([#337](https://github.com/polysemy-research/polysemy/pull/337), [#382](https://github.com/polysemy-research/polysemy/pull/382)) - Restrict the existentially quantified monad in a `Weaving` to `Sem r` ([#333](https://github.com/polysemy-research/polysemy/pull/333), thanks to @A1kmm) -- Added `raise2Under` and `raise3Under` +- Added `raise2Under` and `raise3Under` ([#369](https://github.com/polysemy-research/polysemy/pull/369)) - Added `Raise` and `Subsume` ([#370](https://github.com/polysemy-research/polysemy/pull/370)) diff --git a/package.yaml b/package.yaml index 1821cf4..6170df9 100644 --- a/package.yaml +++ b/package.yaml @@ -1,10 +1,10 @@ name: polysemy -version: 1.6.0.0 +version: 1.7.0.0 github: "polysemy-research/polysemy" license: BSD3 author: "Sandy Maguire" maintainer: "sandy@sandymaguire.me" -copyright: "2019 Sandy Maguire" +copyright: "2019-2021 Sandy Maguire" build-type: Custom extra-source-files: diff --git a/polysemy-plugin/ChangeLog.md b/polysemy-plugin/ChangeLog.md index e3fa06d..ba4a330 100644 --- a/polysemy-plugin/ChangeLog.md +++ b/polysemy-plugin/ChangeLog.md @@ -2,6 +2,10 @@ ## Unreleased +## 0.4.2.0 (2021-11-16) + +- Support for `polysemy-1.7.0.0` + ## 0.4.1.0 (2021-10-22) - The plugin can now use instances in scope to help solve ambiguous type diff --git a/polysemy-plugin/package.yaml b/polysemy-plugin/package.yaml index ed8f60d..e98b754 100644 --- a/polysemy-plugin/package.yaml +++ b/polysemy-plugin/package.yaml @@ -1,5 +1,5 @@ name: polysemy-plugin -version: 0.4.1.0 +version: 0.4.2.0 github: "polysemy-research/polysemy" license: BSD3 author: "Sandy Maguire" @@ -20,7 +20,7 @@ dependencies: - base >= 4.9 && < 5 - ghc >= 8.6.5 && < 10 - ghc-tcplugins-extra >= 0.3 && < 0.5 -- polysemy >= 1.3 +- polysemy >= 1.7 - syb >= 0.7 && < 0.8 - transformers >= 0.5.2.0 && < 0.6 - containers >= 0.5 && < 0.7 diff --git a/polysemy-plugin/polysemy-plugin.cabal b/polysemy-plugin/polysemy-plugin.cabal index 753517b..d3d85a7 100644 --- a/polysemy-plugin/polysemy-plugin.cabal +++ b/polysemy-plugin/polysemy-plugin.cabal @@ -5,7 +5,7 @@ cabal-version: 2.0 -- see: https://github.com/sol/hpack name: polysemy-plugin -version: 0.4.1.0 +version: 0.4.2.0 synopsis: Disambiguate obvious uses of effects. description: Please see the README on GitHub at category: Polysemy @@ -68,7 +68,7 @@ library , containers >=0.5 && <0.7 , ghc >=8.6.5 && <10 , ghc-tcplugins-extra >=0.3 && <0.5 - , polysemy >=1.3 + , polysemy >=1.7 , syb ==0.7.* , transformers >=0.5.2.0 && <0.6 default-language: Haskell2010 diff --git a/polysemy.cabal b/polysemy.cabal index 2a334a0..2bdbd31 100644 --- a/polysemy.cabal +++ b/polysemy.cabal @@ -5,7 +5,7 @@ cabal-version: 2.0 -- see: https://github.com/sol/hpack name: polysemy -version: 1.6.0.0 +version: 1.7.0.0 synopsis: Higher-order, low-boilerplate free monads. description: Please see the README on GitHub at category: Language @@ -13,7 +13,7 @@ homepage: https://github.com/polysemy-research/polysemy#readme bug-reports: https://github.com/polysemy-research/polysemy/issues author: Sandy Maguire maintainer: sandy@sandymaguire.me -copyright: 2019 Sandy Maguire +copyright: 2019-2021 Sandy Maguire license: BSD3 license-file: LICENSE build-type: Custom diff --git a/src/Polysemy/AtomicState.hs b/src/Polysemy/AtomicState.hs index e44f49d..b4ec25a 100644 --- a/src/Polysemy/AtomicState.hs +++ b/src/Polysemy/AtomicState.hs @@ -179,7 +179,8 @@ atomicStateToState = interpret $ \case -- the notion of atomicity, by transforming it into 'State' and running it -- with the provided initial state. -- --- @since TODO +-- +-- @since v1.7.0.0 runAtomicStateViaState :: s -> Sem (AtomicState s ': r) a -> Sem r (s, a) @@ -192,7 +193,7 @@ runAtomicStateViaState s = -- the notion of atomicity, by transforming it into 'State' and running it -- with the provided initial state. -- --- @since TODO +-- @since v1.7.0.0 evalAtomicStateViaState :: s -> Sem (AtomicState s ': r) a -> Sem r a @@ -205,7 +206,7 @@ evalAtomicStateViaState s = -- the notion of atomicity, by transforming it into 'State' and running it -- with the provided initial state. -- --- @since TODO +-- @since v1.7.0.0 execAtomicStateViaState :: s -> Sem (AtomicState s ': r) a -> Sem r s