Hello community,
here is the log from the commit of package ghc-unliftio-core for
openSUSE:Factory checked in at 2020-05-11 13:36:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-unliftio-core (Old)
and /work/SRC/openSUSE:Factory/.ghc-unliftio-core.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-unliftio-core"
Mon May 11 13:36:44 2020 rev:7 rq:801063 version:0.2.0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-unliftio-core/ghc-unliftio-core.changes
2019-12-27 13:58:55.304819303 +0100
+++
/work/SRC/openSUSE:Factory/.ghc-unliftio-core.new.2738/ghc-unliftio-core.changes
2020-05-11 13:36:46.808542328 +0200
@@ -1,0 +2,14 @@
+Wed May 6 06:52:10 UTC 2020 - [email protected]
+
+- Update unliftio-core to version 0.2.0.1.
+ # ChangeLog for unliftio-core
+
+ ## 0.2.0.1
+
+ * Remove faulty default implementation of `withRunInIO`
[#56](https://github.com/fpco/unliftio/issues/56)
+
+ ## 0.2.0.0
+
+ * Move `askUnliftIO` out of class
[#55](https://github.com/fpco/unliftio/issues/55)
+
+-------------------------------------------------------------------
Old:
----
unliftio-core-0.1.2.0.tar.gz
New:
----
unliftio-core-0.2.0.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-unliftio-core.spec ++++++
--- /var/tmp/diff_new_pack.J35bxD/_old 2020-05-11 13:36:48.536545951 +0200
+++ /var/tmp/diff_new_pack.J35bxD/_new 2020-05-11 13:36:48.540545959 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-unliftio-core
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,13 +18,13 @@
%global pkg_name unliftio-core
Name: ghc-%{pkg_name}
-Version: 0.1.2.0
+Version: 0.2.0.1
Release: 0
Summary: The MonadUnliftIO typeclass for unlifting monads to IO
License: MIT
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0:
https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1:
https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/2.cabal#/%{pkg_name}.cabal
+Source1:
https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-transformers-devel
++++++ unliftio-core-0.1.2.0.tar.gz -> unliftio-core-0.2.0.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/unliftio-core-0.1.2.0/ChangeLog.md
new/unliftio-core-0.2.0.1/ChangeLog.md
--- old/unliftio-core-0.1.2.0/ChangeLog.md 2018-08-27 20:11:52.000000000
+0200
+++ new/unliftio-core-0.2.0.1/ChangeLog.md 2020-03-02 14:17:45.000000000
+0100
@@ -1,3 +1,13 @@
+# ChangeLog for unliftio-core
+
+## 0.2.0.1
+
+* Remove faulty default implementation of `withRunInIO`
[#56](https://github.com/fpco/unliftio/issues/56)
+
+## 0.2.0.0
+
+* Move `askUnliftIO` out of class
[#55](https://github.com/fpco/unliftio/issues/55)
+
## 0.1.2.0
* Add `wrappedWithRunInIO`.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/unliftio-core-0.1.2.0/src/Control/Monad/IO/Unlift.hs
new/unliftio-core-0.2.0.1/src/Control/Monad/IO/Unlift.hs
--- old/unliftio-core-0.1.2.0/src/Control/Monad/IO/Unlift.hs 2018-08-27
20:11:52.000000000 +0200
+++ new/unliftio-core-0.2.0.1/src/Control/Monad/IO/Unlift.hs 2020-03-02
14:02:26.000000000 +0100
@@ -4,6 +4,7 @@
module Control.Monad.IO.Unlift
( MonadUnliftIO (..)
, UnliftIO (..)
+ , askUnliftIO
, askRunInIO
, withUnliftIO
, toIO
@@ -41,48 +42,26 @@
--
-- * @unliftIO u (m >>= f) = unliftIO u m >>= unliftIO u . f@
--
--- The third is a currently nameless law which ensures that the
--- current context is preserved.
+-- Instances of @MonadUnliftIO@ must also satisfy the idempotency law:
--
--- * @askUnliftIO >>= (\u -> liftIO (unliftIO u m)) = m@
+-- * @askUnliftIO >>= \\u -> (liftIO . unliftIO u) m = m@
--
--- If you have a name for this, please submit it in a pull request for
--- great glory.
+-- This law showcases two properties. First, 'askUnliftIO' doesn't change
+-- the monadic context, and second, @liftIO . unliftIO u@ is equivalent to
+-- @id@ IF called in the same monadic context as 'askUnliftIO'.
--
-- @since 0.1.0.0
class MonadIO m => MonadUnliftIO m where
- {-# MINIMAL askUnliftIO | withRunInIO #-}
- -- | Capture the current monadic context, providing the ability to
- -- run monadic actions in 'IO'.
- --
- -- See 'UnliftIO' for an explanation of why we need a helper
- -- datatype here.
- --
- -- @since 0.1.0.0
- askUnliftIO :: m (UnliftIO m)
- askUnliftIO = withRunInIO (\run -> return (UnliftIO run))
- {-# INLINE askUnliftIO #-}
- -- Would be better, but GHC hates us
- -- askUnliftIO :: m (forall a. m a -> IO a)
-
-- | Convenience function for capturing the monadic context and running an
'IO'
-- action with a runner function. The runner function is used to run a
monadic
-- action @m@ in @IO@.
--
-- @since 0.1.0.0
- {-# INLINE withRunInIO #-}
withRunInIO :: ((forall a. m a -> IO a) -> IO b) -> m b
- withRunInIO inner = askUnliftIO >>= \u -> liftIO (inner (unliftIO u))
instance MonadUnliftIO IO where
- {-# INLINE askUnliftIO #-}
- askUnliftIO = return (UnliftIO id)
{-# INLINE withRunInIO #-}
withRunInIO inner = inner id
instance MonadUnliftIO m => MonadUnliftIO (ReaderT r m) where
- {-# INLINE askUnliftIO #-}
- askUnliftIO = ReaderT $ \r ->
- withUnliftIO $ \u ->
- return (UnliftIO (unliftIO u . flip runReaderT r))
{-# INLINE withRunInIO #-}
withRunInIO inner =
ReaderT $ \r ->
@@ -90,16 +69,30 @@
inner (run . flip runReaderT r)
instance MonadUnliftIO m => MonadUnliftIO (IdentityT m) where
- {-# INLINE askUnliftIO #-}
- askUnliftIO = IdentityT $
- withUnliftIO $ \u ->
- return (UnliftIO (unliftIO u . runIdentityT))
{-# INLINE withRunInIO #-}
withRunInIO inner =
IdentityT $
withRunInIO $ \run ->
inner (run . runIdentityT)
+-- | Capture the current monadic context, providing the ability to
+-- run monadic actions in 'IO'.
+--
+-- See 'UnliftIO' for an explanation of why we need a helper
+-- datatype here.
+--
+-- Prior to version 0.2.0.0 of this library, this was a method in the
+-- 'MonadUnliftIO' type class. It was moved out due to
+-- <https://github.com/fpco/unliftio/issues/55>.
+--
+-- @since 0.1.0.0
+askUnliftIO :: MonadUnliftIO m => m (UnliftIO m)
+askUnliftIO = withRunInIO (\run -> return (UnliftIO run))
+{-# INLINE askUnliftIO #-}
+-- Would be better, but GHC hates us
+-- askUnliftIO :: m (forall a. m a -> IO a)
+
+
-- | Same as 'askUnliftIO', but returns a monomorphic function
-- instead of a polymorphic newtype wrapper. If you only need to apply
-- the transformation on one concrete type, this function can be more
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/unliftio-core-0.1.2.0/unliftio-core.cabal
new/unliftio-core-0.2.0.1/unliftio-core.cabal
--- old/unliftio-core-0.1.2.0/unliftio-core.cabal 2018-08-28
09:16:03.000000000 +0200
+++ new/unliftio-core-0.2.0.1/unliftio-core.cabal 2020-03-02
14:17:55.000000000 +0100
@@ -1,35 +1,35 @@
-cabal-version: >= 1.10
+cabal-version: 1.12
--- This file has been generated from package.yaml by hpack version 0.29.6.
+-- This file has been generated from package.yaml by hpack version 0.33.0.
--
-- see: https://github.com/sol/hpack
--
--- hash: 9dda29b2ae88c7aba738c44b9efa373de55a416be845a7bf888fc8c108166fed
+-- hash: 9cae5ca1af8760786d8e586fd9b1ed7e329f13f4ec8a3d0aee62818b25038c1f
name: unliftio-core
-version: 0.1.2.0
+version: 0.2.0.1
synopsis: The MonadUnliftIO typeclass for unlifting monads to IO
description: Please see the documentation and README at
<https://www.stackage.org/package/unliftio-core>
category: Control
homepage:
https://github.com/fpco/unliftio/tree/master/unliftio-core#readme
author: Michael Snoyman, Francesco Mazzoli
maintainer: [email protected]
-copyright: 2017 FP Complete
+copyright: 2017-2020 FP Complete
license: MIT
license-file: LICENSE
build-type: Simple
extra-source-files:
- ChangeLog.md
README.md
+ ChangeLog.md
library
- hs-source-dirs:
- src
- build-depends:
- base >=4.5 && <4.12
- , transformers >=0.2 && <0.6
exposed-modules:
Control.Monad.IO.Unlift
other-modules:
Paths_unliftio_core
+ hs-source-dirs:
+ src
+ build-depends:
+ base >=4.5 && <4.14
+ , transformers >=0.2 && <0.6
default-language: Haskell2010
++++++ unliftio-core.cabal ++++++
--- /var/tmp/diff_new_pack.J35bxD/_old 2020-05-11 13:36:48.620546127 +0200
+++ /var/tmp/diff_new_pack.J35bxD/_new 2020-05-11 13:36:48.620546127 +0200
@@ -1,36 +1,36 @@
-cabal-version: >= 1.10
+cabal-version: 1.12
--- This file has been generated from package.yaml by hpack version 0.29.6.
+-- This file has been generated from package.yaml by hpack version 0.33.0.
--
-- see: https://github.com/sol/hpack
--
--- hash: 9dda29b2ae88c7aba738c44b9efa373de55a416be845a7bf888fc8c108166fed
+-- hash: 9cae5ca1af8760786d8e586fd9b1ed7e329f13f4ec8a3d0aee62818b25038c1f
name: unliftio-core
-version: 0.1.2.0
-x-revision: 2
+version: 0.2.0.1
+x-revision: 1
synopsis: The MonadUnliftIO typeclass for unlifting monads to IO
description: Please see the documentation and README at
<https://www.stackage.org/package/unliftio-core>
category: Control
homepage:
https://github.com/fpco/unliftio/tree/master/unliftio-core#readme
author: Michael Snoyman, Francesco Mazzoli
maintainer: [email protected]
-copyright: 2017 FP Complete
+copyright: 2017-2020 FP Complete
license: MIT
license-file: LICENSE
build-type: Simple
extra-source-files:
- ChangeLog.md
README.md
+ ChangeLog.md
library
- hs-source-dirs:
- src
- build-depends:
- base >=4.5 && <4.14
- , transformers >=0.2 && <0.6
exposed-modules:
Control.Monad.IO.Unlift
other-modules:
Paths_unliftio_core
+ hs-source-dirs:
+ src
+ build-depends:
+ base >=4.5 && < 10
+ , transformers >=0.2 && <0.6
default-language: Haskell2010