universum 0.7.1 → 0.7.1.1
raw patch · 3 files changed
+108/−93 lines, 3 filesdep ~basedep ~bytestringdep ~containersPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base, bytestring, containers, criterion, deepseq, exceptions, ghc-prim, hashable, microlens, microlens-mtl, mtl, safe, safe-exceptions, semigroups, stm, text, text-format, transformers, type-operators, unordered-containers, utf8-string, vector
API changes (from Hackage documentation)
Files
- CHANGES.md +6/−0
- src/VarArg.hs +14/−0
- universum.cabal +88/−93
CHANGES.md view
@@ -1,3 +1,9 @@+0.7.1.1+=======++* [#69](https://github.com/serokell/universum/issues/69):+ Document `SuperComposition` operator `(...)`.+ 0.7.1 =====
src/VarArg.hs view
@@ -23,6 +23,20 @@ -- True -- -- Inspired by <http://stackoverflow.com/questions/9656797/variadic-compose-function>.+ --+ -- ==== Performance+ -- To check the performance there was done a bunch of benchmarks. Benchmarks were made on+ -- examples given above and also on the functions of many arguments.+ -- The results are showing that the operator ('...') performs as fast as+ -- plain applications of the operator ('Prelude..') on almost all the tests, but ('...')+ -- leads to the performance draw-down if @ghc@ fails to inline it.+ -- Slow behavior was noticed on functions without type specifications.+ -- That's why keep in mind that providing explicit type declarations for functions is very+ -- important when using ('...').+ -- Relying on type inference will lead to the situation when all optimizations+ -- disappear due to very general inferred type. However, functions without type+ -- specification but with applied @INLINE@ pragma are fast again.+ -- (...) :: a -> b -> c infixl 8 ...
universum.cabal view
@@ -1,99 +1,94 @@-name: universum-version: 0.7.1-synopsis: Custom prelude used in Serokell-description: Custom prelude used in Serokell-homepage: https://github.com/serokell/universum-license: MIT-license-file: LICENSE-author: Stephen Diehl, @serokell-maintainer: Serokell <hi@serokell.io>-copyright: 2016-2016 Stephen Diehl, 2016-2017 Serokell-category: Prelude-stability: well...-build-type: Simple-extra-source-files: CHANGES.md-cabal-version: >=1.10-bug-reports: https://github.com/serokell/universum/issues-tested-with: GHC == 7.10.3- , GHC == 8.0.1- , GHC == 8.0.2- , GHC == 8.2.1+name: universum+version: 0.7.1.1+cabal-version: >=1.10+build-type: Simple+license: MIT+license-file: LICENSE+copyright: 2016-2016 Stephen Diehl, 2016-2017 Serokell+maintainer: Serokell <hi@serokell.io>+stability: well...+homepage: https://github.com/serokell/universum+bug-reports: https://github.com/serokell/universum/issues+synopsis: Custom prelude used in Serokell+description:+ Custom prelude used in Serokell+category: Prelude+author: Stephen Diehl, @serokell+tested-with: GHC ==7.10.3 GHC ==8.0.1 GHC ==8.0.2 GHC ==8.2.1+extra-source-files:+ CHANGES.md source-repository head- type: git- location: git@github.com:serokell/universum.git+ type: git+ location: git@github.com:serokell/universum.git library- hs-source-dirs: src- exposed-modules:- Universum+ exposed-modules:+ Universum+ Applicative+ Base+ Bool+ Containers+ Conv+ Debug+ Exceptions+ Functor+ List+ Nub+ Print+ TypeOps+ Unsafe+ VarArg+ Lifted+ Lifted.Concurrent+ Lifted.Env+ Lifted.File+ Lifted.IORef+ Monad+ Monad.Either+ Monad.Maybe+ Monad.Trans+ build-depends:+ base <4.11,+ bytestring <0.11,+ containers <0.6,+ deepseq <1.5,+ exceptions <0.9,+ ghc-prim <0.6,+ hashable <1.3,+ microlens <0.5,+ microlens-mtl <0.2,+ mtl <2.3,+ safe <0.4,+ safe-exceptions <0.2,+ stm <2.5,+ text <1.3,+ text-format <0.4,+ transformers <0.6,+ type-operators <0.2,+ unordered-containers <0.3,+ utf8-string <1.1,+ vector <0.13+ default-language: Haskell2010+ default-extensions: NoImplicitPrelude OverloadedStrings+ hs-source-dirs: src+ ghc-options: -Wall -fwarn-implicit-prelude - Applicative- Base- Bool- Containers- Conv- Debug- Exceptions- Functor- List- Nub- Print- TypeOps- Unsafe- VarArg - Lifted- Lifted.Concurrent- Lifted.Env- Lifted.File- Lifted.IORef-- Monad- Monad.Either- Monad.Maybe- Monad.Trans-- ghc-options: -Wall -fwarn-implicit-prelude-- build-depends: base > 4.7 && < 5- , bytestring- , containers- , deepseq- , exceptions- , ghc-prim- , hashable- , microlens- , microlens-mtl- , mtl- , safe- , safe-exceptions- , stm- , text- , text-format- , transformers- , type-operators- , unordered-containers- , utf8-string- , vector-- default-language: Haskell2010- default-extensions: NoImplicitPrelude- OverloadedStrings--benchmark universum-benchmark- type: exitcode-stdio-1.0- default-language: Haskell2010- ghc-options: -Wall -O2 -threaded -rtsopts -with-rtsopts=-N- hs-source-dirs: benchmark- main-is: Main.hs- build-depends: base- , universum- , containers- , criterion- , deepseq- , hashable- , mtl- , semigroups- , text- , unordered-containers+benchmark universum-benchmark+ type: exitcode-stdio-1.0+ main-is: Main.hs+ build-depends:+ base <4.11,+ universum -any,+ containers <0.6,+ criterion <1.3,+ deepseq <1.5,+ hashable <1.3,+ mtl <2.3,+ semigroups <0.19,+ text <1.3,+ unordered-containers <0.3+ default-language: Haskell2010+ hs-source-dirs: benchmark+ ghc-options: -Wall -O2 -threaded -rtsopts -with-rtsopts=-N