diff --git a/ChangeLog.md b/ChangeLog.md index 17337b8..b617dac 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -5,6 +5,9 @@ - Fixed a serious bug in `interpretH` and friends, where higher-order effects would always be run with the current interpreter. - Lower precedence of `.@` and `.@@` to 8, from 9 +- 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 ## 0.1.2.1 (2019-05-18) @@ -34,10 +37,3 @@ ## Unreleased changes -- **NEEDS MAJOR REVISION**: no longer require `inlineRecursiveCalls` --- the - plugin does it automatically when compiling with `-O2` -- Deprecated `inlineRecursiveCalls`; slated for removal in the next version -- **NEEDS MAJOR PLUGIN REVISION**: plugin now automatically inlines recursive - calls - - diff --git a/polysemy-plugin/.gitignore b/polysemy-plugin/.gitignore index d608413..76467e6 100644 --- a/polysemy-plugin/.gitignore +++ b/polysemy-plugin/.gitignore @@ -1,3 +1,2 @@ .stack-work/ -polysemy-plugin.cabal -*~ \ No newline at end of file +*~ diff --git a/polysemy-plugin/ChangeLog.md b/polysemy-plugin/ChangeLog.md index 2bded8c..6e3c2d8 100644 --- a/polysemy-plugin/ChangeLog.md +++ b/polysemy-plugin/ChangeLog.md @@ -1,5 +1,17 @@ # Changelog for polysemy-plugin +## 0.2.0.0 (2019-05-23) + +- Fixed a serious bug where the changes from 0.1.0.1 broke most real-world + usages of polysemy +- The plugin will now automatically perform the transformation in + `polysemy`'s `inlineRecursiveCalls` when run with `-O` + +## 0.1.0.1 (2019-05-18) + +- Added some explicit bounds for cabal +- Fixed a bug where effects that were too polymorphic would silently be accepted + ## 0.1.0.0 (2019-04-27) - Initial release diff --git a/polysemy-plugin/package.yaml b/polysemy-plugin/package.yaml index 27c6221..32e5811 100644 --- a/polysemy-plugin/package.yaml +++ b/polysemy-plugin/package.yaml @@ -1,5 +1,5 @@ name: polysemy-plugin -version: 0.1.0.1 +version: 0.2.0.0 github: "isovector/polysemy" license: BSD3 author: "Sandy Maguire" diff --git a/polysemy-plugin/polysemy-plugin.cabal b/polysemy-plugin/polysemy-plugin.cabal new file mode 100644 index 0000000..c7ebabf --- /dev/null +++ b/polysemy-plugin/polysemy-plugin.cabal @@ -0,0 +1,74 @@ +cabal-version: 1.12 + +-- This file has been generated from package.yaml by hpack version 0.31.1. +-- +-- see: https://github.com/sol/hpack +-- +-- hash: 85478fdf6818cbb2b849d4dd68a9f8dbee303d4a7ac2005945ac34ac5eb9dd33 + +name: polysemy-plugin +version: 0.2.0.0 +synopsis: Disambiguate obvious uses of effects. +description: Please see the README on GitHub at +category: Polysemy +homepage: https://github.com/isovector/polysemy#readme +bug-reports: https://github.com/isovector/polysemy/issues +author: Sandy Maguire +maintainer: sandy@sandymaguire.me +copyright: 2019 Sandy Maguire +license: BSD3 +license-file: LICENSE +build-type: Simple +extra-source-files: + README.md + ChangeLog.md + +source-repository head + type: git + location: https://github.com/isovector/polysemy + +library + exposed-modules: + Polysemy.Plugin + Polysemy.Plugin.Fundep + Polysemy.Plugin.InlineRecursiveCalls + Polysemy.Plugin.Phases + other-modules: + Paths_polysemy_plugin + hs-source-dirs: + src + default-extensions: DataKinds DeriveFunctor FlexibleContexts GADTs LambdaCase PolyKinds RankNTypes ScopedTypeVariables StandaloneDeriving TypeApplications TypeOperators TypeFamilies UnicodeSyntax + build-depends: + base >=4.7 && <5 + , ghc >=8.6.3 && <8.7 + , ghc-tcplugins-extra >=0.3 && <0.4 + , polysemy >=0.1 + , syb >=0.7 && <0.8 + , transformers >=0.5.5.0 && <0.6 + default-language: Haskell2010 + +test-suite polysemy-plugin-test + type: exitcode-stdio-1.0 + main-is: Main.hs + other-modules: + BadSpec + ExampleSpec + InlineRecursiveCallsSpec + PluginSpec + Paths_polysemy_plugin + hs-source-dirs: + test + default-extensions: DataKinds DeriveFunctor FlexibleContexts GADTs LambdaCase PolyKinds RankNTypes ScopedTypeVariables StandaloneDeriving TypeApplications TypeOperators TypeFamilies UnicodeSyntax + ghc-options: -threaded -rtsopts -with-rtsopts=-N -fplugin=Polysemy.Plugin -O2 + build-depends: + base >=4.7 && <5 + , ghc >=8.6.3 && <8.7 + , ghc-tcplugins-extra >=0.3 && <0.4 + , hspec >=2.6.0 && <3 + , inspection-testing >=0.4.1.1 && <0.5 + , polysemy >=0.1 + , polysemy-plugin + , should-not-typecheck >=2.1.0 && <3 + , syb >=0.7 && <0.8 + , transformers >=0.5.5.0 && <0.6 + default-language: Haskell2010