openSUSE Commits
Threads by month
- ----- 2024 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
July 2019
- 2 participants
- 2045 discussions
Hello community,
here is the log from the commit of package ghc-skylighting for openSUSE:Factory checked in at 2019-07-29 17:26:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-skylighting (Old)
and /work/SRC/openSUSE:Factory/.ghc-skylighting.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-skylighting"
Mon Jul 29 17:26:49 2019 rev:11 rq:715419 version:0.8.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-skylighting/ghc-skylighting.changes 2019-06-19 21:12:49.134766903 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-skylighting.new.4126/ghc-skylighting.changes 2019-07-29 17:26:59.218288982 +0200
@@ -1,0 +2,21 @@
+Mon Jul 15 02:01:47 UTC 2019 - psimons(a)suse.com
+
+- Update skylighting to version 0.8.2.
+ ## 0.8.2 -- 2019-07-14
+
+ * Change matchRegex so it gives "no match" on a regex error
+ instead of raising an exception. This seems to be how Kate
+ works. Fixes an error on long integer literals (#81).
+
+ ## 0.8.1.2 -- 2019-07-14
+
+ * Fix HlCChar for one-character octal escapes like '\0' (#82).
+ Due to a bug in pCStringChar, only multi-character octal
+ escapes were being recognized. This affects not just C
+ highlighting, but all of the following highlighters which
+ use HlCChar: fasm eiffel pike objectivec ruby vhdl scala
+ java jsp nasm protobuf pure go objectivecpp gnuassembler povray
+ actionscript c cs opencl boo rhtml elixir. This fixes a
+ regression introduced in version 0.3.1.
+
+-------------------------------------------------------------------
Old:
----
skylighting-0.8.1.1.tar.gz
New:
----
skylighting-0.8.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-skylighting.spec ++++++
--- /var/tmp/diff_new_pack.zHDMDO/_old 2019-07-29 17:27:02.018287946 +0200
+++ /var/tmp/diff_new_pack.zHDMDO/_new 2019-07-29 17:27:02.022287944 +0200
@@ -18,7 +18,7 @@
%global pkg_name skylighting
Name: ghc-%{pkg_name}
-Version: 0.8.1.1
+Version: 0.8.2
Release: 0
Summary: Syntax highlighting library
License: GPL-2.0-or-later
++++++ skylighting-0.8.1.1.tar.gz -> skylighting-0.8.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/skylighting-0.8.1.1/changelog.md new/skylighting-0.8.2/changelog.md
--- old/skylighting-0.8.1.1/changelog.md 2019-06-14 03:43:56.000000000 +0200
+++ new/skylighting-0.8.2/changelog.md 2019-07-14 19:04:54.000000000 +0200
@@ -1,5 +1,22 @@
# Revision history for skylighting and skylighting-core
+## 0.8.2 -- 2019-07-14
+
+ * Change matchRegex so it gives "no match" on a regex error
+ instead of raising an exception. This seems to be how Kate
+ works. Fixes an error on long integer literals (#81).
+
+## 0.8.1.2 -- 2019-07-14
+
+ * Fix HlCChar for one-character octal escapes like '\0' (#82).
+ Due to a bug in pCStringChar, only multi-character octal
+ escapes were being recognized. This affects not just C
+ highlighting, but all of the following highlighters which
+ use HlCChar: fasm eiffel pike objectivec ruby vhdl scala
+ java jsp nasm protobuf pure go objectivecpp gnuassembler povray
+ actionscript c cs opencl boo rhtml elixir. This fixes a
+ regression introduced in version 0.3.1.
+
## 0.8.1.1 -- 2019-06-13
* Improved LaTeX escaping (#78).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/skylighting-0.8.1.1/skylighting.cabal new/skylighting-0.8.2/skylighting.cabal
--- old/skylighting-0.8.1.1/skylighting.cabal 2019-06-14 03:43:56.000000000 +0200
+++ new/skylighting-0.8.2/skylighting.cabal 2019-07-14 19:07:01.000000000 +0200
@@ -1,5 +1,5 @@
name: skylighting
-version: 0.8.1.1
+version: 0.8.2
synopsis: syntax highlighting library
description: Skylighting is a syntax highlighting library with
support for over one hundred languages. It derives
@@ -183,7 +183,7 @@
Skylighting.Syntax.Zsh
other-extensions: CPP, Arrows
build-depends: base >= 4.8 && < 5.0,
- skylighting-core >= 0.8.1.1 && < 0.8.2,
+ skylighting-core == 0.8.2,
mtl,
text,
binary,
1
0
Hello community,
here is the log from the commit of package ghc-rio for openSUSE:Factory checked in at 2019-07-29 17:26:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-rio (Old)
and /work/SRC/openSUSE:Factory/.ghc-rio.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-rio"
Mon Jul 29 17:26:46 2019 rev:8 rq:715418 version:0.1.10.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-rio/ghc-rio.changes 2019-04-28 20:13:33.534414545 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-rio.new.4126/ghc-rio.changes 2019-07-29 17:26:53.590291066 +0200
@@ -1,0 +2,17 @@
+Tue Jul 2 02:02:09 UTC 2019 - psimons(a)suse.com
+
+- Update rio to version 0.1.10.0.
+ ## 0.1.10.0
+
+ * Relax a bunch of `RIO.File` functions from `MonadUnliftIO` to `MonadIO`
+ * Custom `Monoid` instance for `Utf8Builder` that matches semantics of the
+ derived one, but doesn't break list fusion
+ * Qualified import recommendations for `*.Partial`, `*.Unchecked`, `*.Unsafe`
+ * Re-export `Data.Ord.Down` from `RIO.Prelude`
+ * Addition of `RIO.NonEmpty` module
+ * Addition of `RIO.NonEmpty.Partial` module
+ * Export `NonEmpty` type and its constructor `(:|)` from RIO.Prelude.Types
+ * Fix handling of non-ASCII characters in `logSticky`
+ * Deprecate `withProcess` and `withProcess_`, add `withProcessWait`, `withProcessWait_`, `withProcessTerm`, and `withProcessTerm_`
+
+-------------------------------------------------------------------
Old:
----
rio-0.1.9.2.tar.gz
New:
----
rio-0.1.10.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-rio.spec ++++++
--- /var/tmp/diff_new_pack.9BqAcL/_old 2019-07-29 17:26:54.202290839 +0200
+++ /var/tmp/diff_new_pack.9BqAcL/_new 2019-07-29 17:26:54.206290838 +0200
@@ -19,7 +19,7 @@
%global pkg_name rio
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.1.9.2
+Version: 0.1.10.0
Release: 0
Summary: A standard library for Haskell
License: MIT
++++++ rio-0.1.9.2.tar.gz -> rio-0.1.10.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/ChangeLog.md new/rio-0.1.10.0/ChangeLog.md
--- old/rio-0.1.9.2/ChangeLog.md 2019-04-15 05:50:18.000000000 +0200
+++ new/rio-0.1.10.0/ChangeLog.md 2019-06-26 06:58:28.000000000 +0200
@@ -1,5 +1,18 @@
# Changelog for rio
+## 0.1.10.0
+
+* Relax a bunch of `RIO.File` functions from `MonadUnliftIO` to `MonadIO`
+* Custom `Monoid` instance for `Utf8Builder` that matches semantics of the
+ derived one, but doesn't break list fusion
+* Qualified import recommendations for `*.Partial`, `*.Unchecked`, `*.Unsafe`
+* Re-export `Data.Ord.Down` from `RIO.Prelude`
+* Addition of `RIO.NonEmpty` module
+* Addition of `RIO.NonEmpty.Partial` module
+* Export `NonEmpty` type and its constructor `(:|)` from RIO.Prelude.Types
+* Fix handling of non-ASCII characters in `logSticky`
+* Deprecate `withProcess` and `withProcess_`, add `withProcessWait`, `withProcessWait_`, `withProcessTerm`, and `withProcessTerm_`
+
## 0.1.9.2
* Bring back re-export of `Monad.fail` from `RIO.Prelude`.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/rio.cabal new/rio-0.1.10.0/rio.cabal
--- old/rio-0.1.9.2/rio.cabal 2019-04-15 05:57:10.000000000 +0200
+++ new/rio-0.1.10.0/rio.cabal 2019-06-26 07:00:08.000000000 +0200
@@ -1,13 +1,13 @@
cabal-version: 1.12
--- This file has been generated from package.yaml by hpack version 0.31.1.
+-- This file has been generated from package.yaml by hpack version 0.31.2.
--
-- see: https://github.com/sol/hpack
--
--- hash: c33027526ffc54db8cec5929c470c83ccf256752d6502bae18316d3ccd807bf9
+-- hash: a9a19c2ab9bf97b6ca7f930086169ac5fd4ae379d215117d19b7d9533058b4a8
name: rio
-version: 0.1.9.2
+version: 0.1.10.0
synopsis: A standard library for Haskell
description: See README and Haddocks at <https://www.stackage.org/package/rio>
category: Control
@@ -47,6 +47,8 @@
RIO.Map
RIO.Map.Partial
RIO.Map.Unchecked
+ RIO.NonEmpty
+ RIO.NonEmpty.Partial
RIO.Partial
RIO.Prelude
RIO.Prelude.Simple
@@ -105,7 +107,7 @@
, process
, text
, time
- , typed-process >=0.2.2.0
+ , typed-process >=0.2.5.0
, unliftio >=0.2.8.0
, unliftio-core
, unordered-containers
@@ -154,7 +156,7 @@
, rio
, text
, time
- , typed-process >=0.2.2.0
+ , typed-process >=0.2.5.0
, unliftio >=0.2.8.0
, unliftio-core
, unordered-containers
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/ByteString/Lazy/Partial.hs new/rio-0.1.10.0/src/RIO/ByteString/Lazy/Partial.hs
--- old/rio-0.1.9.2/src/RIO/ByteString/Lazy/Partial.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/ByteString/Lazy/Partial.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,5 +1,6 @@
--- | This module exports all the partial functions from "Data.ByteString.Lazy"
-
+-- | Lazy @ByteString@ partial functions. Import as:
+--
+-- > import qualified RIO.ByteString.Lazy.Partial as BL'
module RIO.ByteString.Lazy.Partial
(
-- * Basic interface
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/ByteString/Lazy.hs new/rio-0.1.10.0/src/RIO/ByteString/Lazy.hs
--- old/rio-0.1.9.2/src/RIO/ByteString/Lazy.hs 2018-03-19 09:18:53.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/ByteString/Lazy.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,7 +1,11 @@
+{-# LANGUAGE NoImplicitPrelude #-}
+
-- | Lazy @ByteString@. Import as:
--
-- > import qualified RIO.ByteString.Lazy as BL
-{-# LANGUAGE NoImplicitPrelude #-}
+--
+-- This module does not export any partial functions. For those, see
+-- "RIO.ByteString.Lazy.Partial"
module RIO.ByteString.Lazy
(
-- * The @ByteString@ type
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/ByteString/Partial.hs new/rio-0.1.10.0/src/RIO/ByteString/Partial.hs
--- old/rio-0.1.9.2/src/RIO/ByteString/Partial.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/ByteString/Partial.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,5 +1,6 @@
--- | This module exports all the partial functions from 'Data.ByteString'
-
+-- | Strict @ByteString@ partial functions. Import as:
+--
+-- > import qualified RIO.ByteString.Partial as B'
module RIO.ByteString.Partial
(
-- * Basic interface
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/ByteString.hs new/rio-0.1.10.0/src/RIO/ByteString.hs
--- old/rio-0.1.9.2/src/RIO/ByteString.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/ByteString.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,7 +1,11 @@
+{-# LANGUAGE NoImplicitPrelude #-}
+
-- | Strict @ByteString@. Import as:
--
-- > import qualified RIO.ByteString as B
-{-# LANGUAGE NoImplicitPrelude #-}
+--
+-- This module does not export any partial functions. For those, see
+-- "RIO.ByteString.Partial"
module RIO.ByteString
( module Data.ByteString
, module RIO.ByteString
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Char/Partial.hs new/rio-0.1.10.0/src/RIO/Char/Partial.hs
--- old/rio-0.1.9.2/src/RIO/Char/Partial.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Char/Partial.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,3 +1,6 @@
+-- | Unicode @Char@ partial functions. Import as:
+--
+-- > import qualified RIO.Char.Partial as C'
module RIO.Char.Partial
(
-- * Single digit characters
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Char.hs new/rio-0.1.10.0/src/RIO/Char.hs
--- old/rio-0.1.9.2/src/RIO/Char.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Char.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,6 +1,9 @@
-- | Unicode @Char@. Import as:
--
-- > import qualified RIO.Char as C
+--
+-- This module does not export any partial functions. For those, see
+-- "RIO.Char.Partial"
module RIO.Char
(
Data.Char.Char
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/File.hs new/rio-0.1.10.0/src/RIO/File.hs
--- old/rio-0.1.9.2/src/RIO/File.hs 2018-12-06 09:29:44.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/File.hs 2019-04-15 16:41:06.000000000 +0200
@@ -229,8 +229,8 @@
-- otherwise async exceptions may leave file descriptors open.
--
-- @since 0.1.6
-openFileAndDirectory :: MonadUnliftIO m => FilePath -> IOMode -> m (Fd, Handle)
-openFileAndDirectory absFp iomode = do
+openFileAndDirectory :: MonadIO m => FilePath -> IOMode -> m (Fd, Handle)
+openFileAndDirectory absFp iomode = liftIO $ do
let dir = takeDirectory absFp
fp = takeFileName absFp
@@ -257,16 +257,16 @@
fsyncFileDescriptor "closeFileDurable/Directory" cDirFd)
(closeDirectory dirFd)
-buildTemporaryFilePath :: MonadUnliftIO m => FilePath -> m FilePath
-buildTemporaryFilePath filePath = do
+buildTemporaryFilePath :: MonadIO m => FilePath -> m FilePath
+buildTemporaryFilePath filePath = liftIO $ do
let
dirFp = takeDirectory filePath
fileFp = takeFileName filePath
- bracket (liftIO $ openBinaryTempFile dirFp fileFp)
+ bracket (openBinaryTempFile dirFp fileFp)
(hClose . snd)
(return . fst)
-toTmpFilePath :: MonadUnliftIO m => FilePath -> m FilePath
+toTmpFilePath :: MonadIO m => FilePath -> m FilePath
toTmpFilePath filePath =
buildTemporaryFilePath (dirPath </> tmpFilename)
where
@@ -296,7 +296,7 @@
--
-- @since 0.1.6
closeFileDurableAtomic ::
- MonadUnliftIO m => FilePath -> FilePath -> Fd -> Handle -> m ()
+ MonadIO m => FilePath -> FilePath -> Fd -> Handle -> m ()
closeFileDurableAtomic tmpFilePath filePath dirFd@(Fd cDirFd) fileHandle = do
liftIO $
finally
@@ -332,11 +332,12 @@
-- This function is a noop on Windows platforms.
--
-- @since 0.1.6
-ensureFileDurable :: MonadUnliftIO m => FilePath -> m ()
+ensureFileDurable :: MonadIO m => FilePath -> m ()
ensureFileDurable absFp =
#if WINDOWS
absFp `seq` return ()
#else
+ liftIO $
bracket (openFileAndDirectory absFp ReadMode)
(uncurry closeFileDurable)
(const $ return ())
@@ -352,12 +353,12 @@
-- This function behaves the same as 'RIO.writeFileBinary' on Windows platforms.
--
-- @since 0.1.6
-writeBinaryFileDurable :: MonadUnliftIO m => FilePath -> ByteString -> m ()
+writeBinaryFileDurable :: MonadIO m => FilePath -> ByteString -> m ()
writeBinaryFileDurable absFp bytes =
#if WINDOWS
- writeFileBinary absFp bytes
+ liftIO $ writeFileBinary absFp bytes
#else
- withBinaryFileDurable absFp WriteMode (liftIO . (`hPut` bytes))
+ liftIO $ withBinaryFileDurable absFp WriteMode (liftIO . (`hPut` bytes))
#endif
-- | Similar to 'writeFileBinary', but it also guarantes that changes executed
@@ -370,12 +371,12 @@
-- This function behaves the same as 'RIO.writeFileBinary' on Windows platforms.
--
-- @since 0.1.6
-writeBinaryFileDurableAtomic :: MonadUnliftIO m => FilePath -> ByteString -> m ()
+writeBinaryFileDurableAtomic :: MonadIO m => FilePath -> ByteString -> m ()
writeBinaryFileDurableAtomic fp bytes =
#if WINDOWS
- writeFileBinary fp bytes
+ liftIO $ writeFileBinary fp bytes
#else
- withBinaryFileDurableAtomic fp WriteMode (liftIO . (`hPut` bytes))
+ liftIO $ withBinaryFileDurableAtomic fp WriteMode (liftIO . (`hPut` bytes))
#endif
-- | Opens a file with the following guarantees:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/HashMap/Partial.hs new/rio-0.1.10.0/src/RIO/HashMap/Partial.hs
--- old/rio-0.1.9.2/src/RIO/HashMap/Partial.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/HashMap/Partial.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,3 +1,6 @@
+-- | Strict @HashMap@ partial functions. Import as:
+--
+-- > import qualified RIO.HashMap.Partial as HM'
module RIO.HashMap.Partial
(
-- * Basic interface
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/HashMap.hs new/rio-0.1.10.0/src/RIO/HashMap.hs
--- old/rio-0.1.9.2/src/RIO/HashMap.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/HashMap.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,6 +1,9 @@
-- | Strict @Map@ with hashed keys. Import as:
--
-- > import qualified RIO.HashMap as HM
+--
+-- This module does not export any partial functions. For those, see
+-- "RIO.HashMap.Partial"
module RIO.HashMap
(
Data.HashMap.Strict.HashMap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/List/Partial.hs new/rio-0.1.10.0/src/RIO/List/Partial.hs
--- old/rio-0.1.9.2/src/RIO/List/Partial.hs 2018-06-19 17:29:26.000000000 +0200
+++ new/rio-0.1.10.0/src/RIO/List/Partial.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,3 +1,6 @@
+-- | @List@ partial functions. Import as:
+--
+-- > import qualified RIO.List.Partial as L'
module RIO.List.Partial
(
-- * Basic functions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/List.hs new/rio-0.1.10.0/src/RIO/List.hs
--- old/rio-0.1.9.2/src/RIO/List.hs 2018-12-20 15:39:02.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/List.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,6 +1,9 @@
-- | @List@. Import as:
--
-- > import qualified RIO.List as L
+--
+-- This module does not export any partial functions. For those, see
+-- "RIO.List.Partial"
module RIO.List
(
-- * Basic functions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Map/Partial.hs new/rio-0.1.10.0/src/RIO/Map/Partial.hs
--- old/rio-0.1.9.2/src/RIO/Map/Partial.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Map/Partial.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,3 +1,6 @@
+-- | Strict @Map@ partial functions. Import as:
+--
+-- > import qualified RIO.Map.Partial as Map'
module RIO.Map.Partial
(
-- * Operators
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Map/Unchecked.hs new/rio-0.1.10.0/src/RIO/Map/Unchecked.hs
--- old/rio-0.1.9.2/src/RIO/Map/Unchecked.hs 2019-03-12 10:21:13.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Map/Unchecked.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,9 +1,11 @@
{-# LANGUAGE CPP #-}
--- | This module contains functions from "Data.Map.strict" that have unchecked
+
+-- | This module contains functions from "Data.Map.Strict" that have unchecked
-- preconditions on their input. If these preconditions are not satisfied,
-- the data structure may end up in an invalid state and other operations
--- may misbehave.
-
+-- may misbehave. Import as:
+--
+-- > import qualified RIO.Map.Unchecked as Map'
module RIO.Map.Unchecked
(
-- * Traversal
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Map.hs new/rio-0.1.10.0/src/RIO/Map.hs
--- old/rio-0.1.9.2/src/RIO/Map.hs 2019-03-12 10:21:13.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Map.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,7 +1,11 @@
{-# LANGUAGE CPP #-}
+
-- | Strict @Map@. Import as:
--
-- > import qualified RIO.Map as Map
+--
+-- This module does not export any partial or unchecked functions. For those,
+-- see "RIO.Map.Partial" and "RIO.Map.Unchecked"
module RIO.Map
(
-- * Map type
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/NonEmpty/Partial.hs new/rio-0.1.10.0/src/RIO/NonEmpty/Partial.hs
--- old/rio-0.1.9.2/src/RIO/NonEmpty/Partial.hs 1970-01-01 01:00:00.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/NonEmpty/Partial.hs 2019-06-26 06:57:48.000000000 +0200
@@ -0,0 +1,14 @@
+-- | @NonEmpty@ list partial functions. Import as:
+--
+-- > import qualified RIO.NonEmpty.Partial as NE'
+module RIO.NonEmpty.Partial
+ (
+ -- * Indexing streams
+ (Data.List.NonEmpty.!!)
+
+ -- * Converting to and from a list
+ , Data.List.NonEmpty.fromList
+
+ ) where
+
+import qualified Data.List.NonEmpty
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/NonEmpty.hs new/rio-0.1.10.0/src/RIO/NonEmpty.hs
--- old/rio-0.1.9.2/src/RIO/NonEmpty.hs 1970-01-01 01:00:00.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/NonEmpty.hs 2019-06-26 06:57:48.000000000 +0200
@@ -0,0 +1,83 @@
+-- | @NonEmpty@ list. Import as:
+--
+-- > import qualified RIO.NonEmpty as NE
+--
+-- This module does not export any partial functions. For those, see
+-- "RIO.NonEmpty.Partial"
+module RIO.NonEmpty
+ (
+ -- * The type of non-empty streams
+ Data.List.NonEmpty.NonEmpty(..)
+
+ -- * Non-empty stream transformations
+ , Data.List.NonEmpty.map
+ , Data.List.NonEmpty.intersperse
+ , Data.List.NonEmpty.scanl
+ , Data.List.NonEmpty.scanr
+ , Data.List.NonEmpty.scanl1
+ , Data.List.NonEmpty.scanr1
+ , Data.List.NonEmpty.transpose
+ , Data.List.NonEmpty.sortBy
+ , Data.List.NonEmpty.sortWith
+
+ -- * Basic functions
+ , Data.List.NonEmpty.length
+ , Data.List.NonEmpty.head
+ , Data.List.NonEmpty.tail
+ , Data.List.NonEmpty.last
+ , Data.List.NonEmpty.init
+ , (Data.List.NonEmpty.<|)
+ , Data.List.NonEmpty.cons
+ , Data.List.NonEmpty.uncons
+ , Data.List.NonEmpty.unfoldr
+ , Data.List.NonEmpty.sort
+ , Data.List.NonEmpty.reverse
+ , Data.List.NonEmpty.inits
+ , Data.List.NonEmpty.tails
+
+ -- * Building streams
+ , Data.List.NonEmpty.iterate
+ , Data.List.NonEmpty.repeat
+ , Data.List.NonEmpty.cycle
+ , Data.List.NonEmpty.insert
+ , Data.List.NonEmpty.some1
+
+ -- * Extracting sublists
+ , Data.List.NonEmpty.take
+ , Data.List.NonEmpty.drop
+ , Data.List.NonEmpty.splitAt
+ , Data.List.NonEmpty.takeWhile
+ , Data.List.NonEmpty.dropWhile
+ , Data.List.NonEmpty.span
+ , Data.List.NonEmpty.break
+ , Data.List.NonEmpty.filter
+ , Data.List.NonEmpty.partition
+ , Data.List.NonEmpty.group
+ , Data.List.NonEmpty.groupBy
+ , Data.List.NonEmpty.groupWith
+ , Data.List.NonEmpty.groupAllWith
+ , Data.List.NonEmpty.group1
+ , Data.List.NonEmpty.groupBy1
+ , Data.List.NonEmpty.groupWith1
+ , Data.List.NonEmpty.groupAllWith1
+
+ -- * Sublist predicates
+ , Data.List.NonEmpty.isPrefixOf
+
+ -- * Set-like operations
+ , Data.List.NonEmpty.nub
+ , Data.List.NonEmpty.nubBy
+
+ -- * Zipping and unzipping streams
+ , Data.List.NonEmpty.zip
+ , Data.List.NonEmpty.zipWith
+ , Data.List.NonEmpty.unzip
+
+ -- * Converting to and from a list
+ , Data.List.NonEmpty.nonEmpty
+ , Data.List.NonEmpty.toList
+ , Data.List.NonEmpty.xor
+
+ ) where
+
+import qualified Data.List.NonEmpty
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Partial.hs new/rio-0.1.10.0/src/RIO/Partial.hs
--- old/rio-0.1.9.2/src/RIO/Partial.hs 2019-02-27 04:58:47.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Partial.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,5 +1,6 @@
--- | Partial functions.
+-- | Partial functions. Import as:
--
+-- > import qualified RIO.Partial as RIO'
module RIO.Partial
( Data.Maybe.fromJust
, Prelude.read
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Prelude/Display.hs new/rio-0.1.10.0/src/RIO/Prelude/Display.hs
--- old/rio-0.1.9.2/src/RIO/Prelude/Display.hs 2018-12-27 19:06:38.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Prelude/Display.hs 2019-06-26 06:57:48.000000000 +0200
@@ -14,7 +14,7 @@
import qualified Data.ByteString.Lazy as BL
import qualified Data.ByteString.Builder as BB
import Data.ByteString.Builder (Builder)
-import Data.Semigroup (Semigroup)
+import Data.Semigroup (Semigroup(..))
import Data.Text (Text)
import qualified Data.Text.Lazy as TL
import qualified Data.Text.Lazy.Encoding as TL
@@ -30,7 +30,17 @@
--
-- @since 0.1.0.0
newtype Utf8Builder = Utf8Builder { getUtf8Builder :: Builder }
- deriving (Semigroup, Monoid)
+ deriving (Semigroup)
+
+-- Custom instance is created instead of deriving, otherwise list fusion breaks
+-- for `mconcat`.
+instance Monoid Utf8Builder where
+ mempty = Utf8Builder mempty
+ {-# INLINE mempty #-}
+ mappend = (Data.Semigroup.<>)
+ {-# INLINE mappend #-}
+ mconcat = foldr mappend mempty
+ {-# INLINE mconcat #-}
-- | @since 0.1.0.0
instance IsString Utf8Builder where
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Prelude/Logger.hs new/rio-0.1.10.0/src/RIO/Prelude/Logger.hs
--- old/rio-0.1.9.2/src/RIO/Prelude/Logger.hs 2019-04-11 09:22:33.000000000 +0200
+++ new/rio-0.1.10.0/src/RIO/Prelude/Logger.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,6 +1,7 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE NoImplicitPrelude #-}
+{-# LANGUAGE BangPatterns #-}
module RIO.Prelude.Logger
( -- ** Running with logging
withLogFunc
@@ -60,6 +61,7 @@
import GHC.Stack (HasCallStack, CallStack, SrcLoc (..), getCallStack, callStack)
import Data.Time
import qualified Data.Text.IO as TIO
+import Data.Bits
import Data.ByteString.Builder (toLazyByteString, char7, byteString, hPutBuilder)
import Data.ByteString.Builder.Extra (flush)
import GHC.IO.Handle.Internals (wantWritableHandle)
@@ -359,12 +361,12 @@
newLogFunc :: (MonadIO n, MonadIO m) => LogOptions -> n (LogFunc, m ())
newLogFunc options =
if logTerminal options then do
- var <- newMVar mempty
+ var <- newMVar (mempty,0)
return (LogFunc
{ unLogFunc = stickyImpl var options (simpleLogFunc options)
, lfOptions = Just options
}
- , do state <- takeMVar var
+ , do (state,_) <- takeMVar var
unless (B.null state) (liftIO $ logSend options "\n")
)
else
@@ -579,12 +581,12 @@
length (formatTime defaultTimeLocale "%F %T.000000" (UTCTime (ModifiedJulianDay 0) 0))
stickyImpl
- :: MVar ByteString -> LogOptions
+ :: MVar (ByteString,Int) -> LogOptions
-> (CallStack -> LogSource -> LogLevel -> Utf8Builder -> IO ())
-> CallStack -> LogSource -> LogLevel -> Utf8Builder -> IO ()
-stickyImpl ref lo logFunc loc src level msgOrig = modifyMVar_ ref $ \sticky -> do
+stickyImpl ref lo logFunc loc src level msgOrig = modifyMVar_ ref $ \(sticky,stickyLen) -> do
let backSpaceChar = '\8'
- repeating = mconcat . replicate (B.length sticky) . char7
+ repeating = mconcat . replicate stickyLen . char7
clear = logSend lo
(repeating backSpaceChar <>
repeating ' ' <>
@@ -596,19 +598,37 @@
LevelOther "sticky-done" -> do
clear
logFunc loc src LevelInfo msgOrig
- return mempty
+ return (mempty,0)
LevelOther "sticky" -> do
clear
let bs = toStrictBytes $ toLazyByteString $ getUtf8Builder msgOrig
logSend lo (byteString bs <> flush)
- return bs
+ return (bs, utf8CharacterCount bs)
_
| level >= logLevel -> do
clear
logFunc loc src level msgOrig
unless (B.null sticky) $ logSend lo (byteString sticky <> flush)
- return sticky
- | otherwise -> return sticky
+ return (sticky,stickyLen)
+ | otherwise -> return (sticky,stickyLen)
+
+-- | The number of Unicode characters in a UTF-8 encoded byte string,
+-- excluding ANSI CSI sequences.
+utf8CharacterCount :: ByteString -> Int
+utf8CharacterCount = go 0
+ where
+ go !n bs = case B.uncons bs of
+ Nothing -> n
+ Just (c,bs)
+ | c .&. 0xC0 == 0x80 -> go n bs -- UTF-8 continuation
+ | c == 0x1B -> go n $ dropCSI bs -- ANSI escape
+ | otherwise -> go (n+1) bs
+
+ dropCSI bs = case B.uncons bs of
+ Just (0x5B,bs2) -> B.drop 1 $ B.dropWhile isSequenceByte bs2
+ _ -> bs
+
+ isSequenceByte c = c >= 0x20 && c <= 0x3F
-- | Is the log func configured to use color output?
--
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Prelude/Types.hs new/rio-0.1.10.0/src/RIO/Prelude/Types.hs
--- old/rio-0.1.9.2/src/RIO/Prelude/Types.hs 2019-04-13 21:04:04.000000000 +0200
+++ new/rio-0.1.10.0/src/RIO/Prelude/Types.hs 2019-06-26 06:57:48.000000000 +0200
@@ -60,6 +60,9 @@
-- *** @Either@
-- | Re-exported from "Data.Either":
, Data.Either.Either(..)
+ -- *** @NonEmpty@
+ -- | Re-exported from Data.List.NonEmpty
+ , Data.List.NonEmpty.NonEmpty(..)
-- *** @Proxy@
-- | Re-exported from "Data.Proxy":
, Data.Proxy.Proxy(..)
@@ -325,6 +328,7 @@
import qualified Data.IntMap.Strict
import qualified Data.IntSet
import qualified Data.List
+import qualified Data.List.NonEmpty
import qualified Data.Map.Strict
import qualified Data.Maybe
import qualified Data.Ord
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Prelude.hs new/rio-0.1.10.0/src/RIO/Prelude.hs
--- old/rio-0.1.9.2/src/RIO/Prelude.hs 2019-04-15 05:50:18.000000000 +0200
+++ new/rio-0.1.10.0/src/RIO/Prelude.hs 2019-06-26 06:57:48.000000000 +0200
@@ -58,6 +58,7 @@
, Data.Ord.min
, Data.Ord.compare
, Data.Ord.comparing
+ , Data.Ord.Down(..)
-- * @Enum@
-- | Re-exported from "Prelude":
@@ -442,4 +443,3 @@
import qualified Control.Monad.Primitive (primitive)
import qualified Control.Monad.ST
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Process.hs new/rio-0.1.10.0/src/RIO/Process.hs
--- old/rio-0.1.9.2/src/RIO/Process.hs 2018-08-02 07:33:18.000000000 +0200
+++ new/rio-0.1.10.0/src/RIO/Process.hs 2019-06-26 07:09:32.000000000 +0200
@@ -57,6 +57,10 @@
-- * Spawning (run child process)
, withProcess
, withProcess_
+ , withProcessWait
+ , withProcessWait_
+ , withProcessTerm
+ , withProcessTerm_
-- * Exec (replacing current process)
, exec
, execSpawn
@@ -135,7 +139,11 @@
import System.Exit (exitWith)
import qualified System.FilePath as FP
import qualified System.Process.Typed as P
-import System.Process.Typed hiding (withProcess, withProcess_, proc)
+import System.Process.Typed hiding
+ (withProcess, withProcess_,
+ withProcessWait, withProcessWait_,
+ withProcessTerm, withProcessTerm_,
+ proc)
#ifndef WINDOWS
import System.Directory (setCurrentDirectory)
@@ -431,7 +439,8 @@
=> ProcessConfig stdin stdout stderr
-> (Process stdin stdout stderr -> m a)
-> m a
-withProcess pc f = withRunInIO $ \run -> P.withProcess pc (run . f)
+withProcess pc f = withRunInIO $ \run -> P.withProcessTerm pc (run . f)
+{-# DEPRECATED withProcess "Please consider using withProcessWait, or instead use withProcessTerm" #-}
-- | Same as 'P.withProcess_', but generalized to 'MonadUnliftIO'.
--
@@ -441,7 +450,48 @@
=> ProcessConfig stdin stdout stderr
-> (Process stdin stdout stderr -> m a)
-> m a
-withProcess_ pc f = withRunInIO $ \run -> P.withProcess_ pc (run . f)
+withProcess_ pc f = withRunInIO $ \run -> P.withProcessTerm_ pc (run . f)
+{-# DEPRECATED withProcess_ "Please consider using withProcessWait, or instead use withProcessTerm" #-}
+
+-- | Same as 'P.withProcessWait', but generalized to 'MonadUnliftIO'.
+--
+-- @since 0.1.10.0
+withProcessWait
+ :: MonadUnliftIO m
+ => ProcessConfig stdin stdout stderr
+ -> (Process stdin stdout stderr -> m a)
+ -> m a
+withProcessWait pc f = withRunInIO $ \run -> P.withProcessWait pc (run . f)
+
+-- | Same as 'P.withProcessWait_', but generalized to 'MonadUnliftIO'.
+--
+-- @since 0.1.10.0
+withProcessWait_
+ :: MonadUnliftIO m
+ => ProcessConfig stdin stdout stderr
+ -> (Process stdin stdout stderr -> m a)
+ -> m a
+withProcessWait_ pc f = withRunInIO $ \run -> P.withProcessWait_ pc (run . f)
+
+-- | Same as 'P.withProcessTerm', but generalized to 'MonadUnliftIO'.
+--
+-- @since 0.1.10.0
+withProcessTerm
+ :: MonadUnliftIO m
+ => ProcessConfig stdin stdout stderr
+ -> (Process stdin stdout stderr -> m a)
+ -> m a
+withProcessTerm pc f = withRunInIO $ \run -> P.withProcessTerm pc (run . f)
+
+-- | Same as 'P.withProcessTerm_', but generalized to 'MonadUnliftIO'.
+--
+-- @since 0.1.10.0
+withProcessTerm_
+ :: MonadUnliftIO m
+ => ProcessConfig stdin stdout stderr
+ -> (Process stdin stdout stderr -> m a)
+ -> m a
+withProcessTerm_ pc f = withRunInIO $ \run -> P.withProcessTerm_ pc (run . f)
-- | A convenience environment combining a 'LogFunc' and a 'ProcessContext'
--
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Set/Partial.hs new/rio-0.1.10.0/src/RIO/Set/Partial.hs
--- old/rio-0.1.9.2/src/RIO/Set/Partial.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Set/Partial.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,3 +1,6 @@
+-- | @Set@ partial functions. Import as:
+--
+-- > import qualified RIO.Set.Partial as Set'
module RIO.Set.Partial
(
-- * Indexed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Set/Unchecked.hs new/rio-0.1.10.0/src/RIO/Set/Unchecked.hs
--- old/rio-0.1.9.2/src/RIO/Set/Unchecked.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Set/Unchecked.hs 2019-06-26 06:57:48.000000000 +0200
@@ -3,7 +3,9 @@
-- | This module contains functions from "Data.Set" that have unchecked
-- preconditions on their input. If these preconditions are not satisfied,
-- the data structure may end up in an invalid state and other operations
--- may misbehave.
+-- may misbehave. Import as:
+--
+-- > import qualified RIO.Set.Unchecked as Set'
module RIO.Set.Unchecked
(
-- * Map
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Set.hs new/rio-0.1.10.0/src/RIO/Set.hs
--- old/rio-0.1.9.2/src/RIO/Set.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Set.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,7 +1,11 @@
{-# LANGUAGE CPP #-}
+
-- | @Set@. Import as:
--
-- > import qualified RIO.Set as Set
+--
+-- This module does not export any partial or unchecked functions. For those,
+-- see "RIO.Set.Partial" and "RIO.Set.Unchecked"
module RIO.Set
(
-- * Set type
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Text/Lazy/Partial.hs new/rio-0.1.10.0/src/RIO/Text/Lazy/Partial.hs
--- old/rio-0.1.9.2/src/RIO/Text/Lazy/Partial.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Text/Lazy/Partial.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,5 +1,6 @@
--- | This module exports all the partial functions from "Data.Text.Lazy"
-
+-- | Lazy @Text@ partial functions. Import as:
+--
+-- > import qualified RIO.Text.Lazy.Partial as TL'
module RIO.Text.Lazy.Partial
(
-- * Creation and elimination
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Text/Partial.hs new/rio-0.1.10.0/src/RIO/Text/Partial.hs
--- old/rio-0.1.9.2/src/RIO/Text/Partial.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Text/Partial.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,5 +1,6 @@
--- | This module exports all the partial functions from "Data.Text"
-
+-- | Strict @Text@ partial functions. Import as:
+--
+-- > import qualified RIO.Text.Partial as T'
module RIO.Text.Partial
(
-- * Basic interface
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Vector/Boxed/Partial.hs new/rio-0.1.10.0/src/RIO/Vector/Boxed/Partial.hs
--- old/rio-0.1.9.2/src/RIO/Vector/Boxed/Partial.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Vector/Boxed/Partial.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,3 +1,6 @@
+-- | Boxed @Vector@ partial functions. Import as:
+--
+-- > import qualified RIO.Vector.Boxed.Partial as VB'
module RIO.Vector.Boxed.Partial
(
-- * Accessors
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Vector/Boxed/Unsafe.hs new/rio-0.1.10.0/src/RIO/Vector/Boxed/Unsafe.hs
--- old/rio-0.1.9.2/src/RIO/Vector/Boxed/Unsafe.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Vector/Boxed/Unsafe.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,3 +1,7 @@
+-- | Boxed @Vector@ unsafe functions. These perform no bounds
+-- checking, and may cause segmentation faults etc.! Import as:
+--
+-- > import qualified RIO.Vector.Boxed.Unsafe as VB'
module RIO.Vector.Boxed.Unsafe
(
-- * Accessors
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Vector/Boxed.hs new/rio-0.1.10.0/src/RIO/Vector/Boxed.hs
--- old/rio-0.1.9.2/src/RIO/Vector/Boxed.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Vector/Boxed.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,7 +1,11 @@
{-# LANGUAGE CPP #-}
+
-- | Boxed @Vector@. Import as:
--
-- > import qualified RIO.Vector.Boxed as VB
+--
+-- This module does not export any partial or unsafe functions. For those, see
+-- "RIO.Vector.Boxed.Partial" and "RIO.Vector.Boxed.Unsafe"
module RIO.Vector.Boxed
(
-- * Boxed vectors
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Vector/Partial.hs new/rio-0.1.10.0/src/RIO/Vector/Partial.hs
--- old/rio-0.1.9.2/src/RIO/Vector/Partial.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Vector/Partial.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,3 +1,6 @@
+-- | Generic @Vector@ interface partial functions. Import as:
+--
+-- > import qualified RIO.Vector.Partial as V'
module RIO.Vector.Partial
(
-- * Accessors
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Vector/Storable/Partial.hs new/rio-0.1.10.0/src/RIO/Vector/Storable/Partial.hs
--- old/rio-0.1.9.2/src/RIO/Vector/Storable/Partial.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Vector/Storable/Partial.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,3 +1,6 @@
+-- | Storable @Vector@ partial functions. Import as:
+--
+-- > import qualified RIO.Vector.Storable.Partial as VS'
module RIO.Vector.Storable.Partial
(
-- * Accessors
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Vector/Storable/Unsafe.hs new/rio-0.1.10.0/src/RIO/Vector/Storable/Unsafe.hs
--- old/rio-0.1.9.2/src/RIO/Vector/Storable/Unsafe.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Vector/Storable/Unsafe.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,3 +1,7 @@
+-- | Storable @Vector@ unsafe functions. These perform no bounds
+-- checking, and may cause segmentation faults etc.! Import as:
+--
+-- > import qualified RIO.Vector.Storable.Unsafe as VS'
module RIO.Vector.Storable.Unsafe
(
-- * Accessors
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Vector/Storable.hs new/rio-0.1.10.0/src/RIO/Vector/Storable.hs
--- old/rio-0.1.9.2/src/RIO/Vector/Storable.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Vector/Storable.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,7 +1,11 @@
{-# LANGUAGE CPP #-}
+
-- | Storable @Vector@. Import as:
--
-- > import qualified RIO.Vector.Storable as VS
+--
+-- This module does not export any partial or unsafe functions. For those, see
+-- "RIO.Vector.Storable.Partial" and "RIO.Vector.Storable.Unsafe"
module RIO.Vector.Storable
(
-- * Storable vectors
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Vector/Unboxed/Partial.hs new/rio-0.1.10.0/src/RIO/Vector/Unboxed/Partial.hs
--- old/rio-0.1.9.2/src/RIO/Vector/Unboxed/Partial.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Vector/Unboxed/Partial.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,3 +1,6 @@
+-- | Unboxed @Vector@ partial functions. Import as:
+--
+-- > import qualified RIO.Vector.Unboxed.Partial as VU'
module RIO.Vector.Unboxed.Partial
(
-- * Accessors
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Vector/Unboxed/Unsafe.hs new/rio-0.1.10.0/src/RIO/Vector/Unboxed/Unsafe.hs
--- old/rio-0.1.9.2/src/RIO/Vector/Unboxed/Unsafe.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Vector/Unboxed/Unsafe.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,3 +1,7 @@
+-- | Unoxed @Vector@ unsafe functions. These perform no bounds
+-- checking, and may cause segmentation faults etc.! Import as:
+--
+-- > import qualified RIO.Vector.Unoxed.Unsafe as VU'
module RIO.Vector.Unboxed.Unsafe
(
-- * Accessors
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Vector/Unboxed.hs new/rio-0.1.10.0/src/RIO/Vector/Unboxed.hs
--- old/rio-0.1.9.2/src/RIO/Vector/Unboxed.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Vector/Unboxed.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,7 +1,11 @@
{-# LANGUAGE CPP #-}
+
-- | Unboxed @Vector@. Import as:
--
-- > import qualified RIO.Vector.Unboxed as VU
+--
+-- This module does not export any partial or unsafe functions. For those, see
+-- "RIO.Vector.Unboxed.Partial" and "RIO.Vector.Unboxed.Unsafe"
module RIO.Vector.Unboxed
(
-- * Unboxed vectors
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Vector/Unsafe.hs new/rio-0.1.10.0/src/RIO/Vector/Unsafe.hs
--- old/rio-0.1.9.2/src/RIO/Vector/Unsafe.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Vector/Unsafe.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,3 +1,7 @@
+-- | Generic @Vector@ interface unsafe functions. These perform no bounds
+-- checking, and may cause segmentation faults etc.! Import as:
+--
+-- > import qualified RIO.Vector.Unsafe as V'
module RIO.Vector.Unsafe
(
-- * Immutable vectors
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO/Vector.hs new/rio-0.1.10.0/src/RIO/Vector.hs
--- old/rio-0.1.9.2/src/RIO/Vector.hs 2018-03-18 09:09:39.000000000 +0100
+++ new/rio-0.1.10.0/src/RIO/Vector.hs 2019-06-26 06:57:48.000000000 +0200
@@ -1,7 +1,11 @@
{-# LANGUAGE CPP #-}
+
-- | Generic @Vector@ interface. Import as:
--
-- > import qualified RIO.Vector as V
+--
+-- This module does not export any partial or unsafe functions. For those, see
+-- "RIO.Vector.Partial" and "RIO.Vector.Unsafe"
module RIO.Vector
(
-- * Immutable vectors
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/src/RIO.hs new/rio-0.1.10.0/src/RIO.hs
--- old/rio-0.1.9.2/src/RIO.hs 2019-04-11 09:22:33.000000000 +0200
+++ new/rio-0.1.10.0/src/RIO.hs 2019-06-26 06:57:48.000000000 +0200
@@ -10,6 +10,9 @@
-- > {-# LANGUAGE NoImplicitPrelude #-}
-- > import RIO
--
+ -- Some functions not exported here can be found in "RIO.Partial":
+ -- @fromJust@, @read@, @toEnum@, @pred@, @succ@.
+ --
module RIO.Prelude
, module RIO.Prelude.Types
-- * The @RIO@ Monad
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rio-0.1.9.2/test/RIO/LoggerSpec.hs new/rio-0.1.10.0/test/RIO/LoggerSpec.hs
--- old/rio-0.1.9.2/test/RIO/LoggerSpec.hs 2018-07-29 10:38:08.000000000 +0200
+++ new/rio-0.1.10.0/test/RIO/LoggerSpec.hs 2019-06-26 06:57:48.000000000 +0200
@@ -24,6 +24,20 @@
logStickyDone "XYZ"
builder <- readIORef ref
toLazyByteString builder `shouldBe` "ABC\b\b\b \b\b\bshould appear\nABC\b\b\b \b\b\bXYZ\n"
+ it "stickyUnicode" $ do
+ (ref, options) <- logOptionsMemory
+ withLogFunc options $ \lf -> runRIO lf $ do
+ logSticky "ö"
+ logStickyDone "."
+ builder <- readIORef ref
+ toLazyByteString builder `shouldBe` "\195\182\b \b.\n"
+ it "stickyAnsiEscape" $ do
+ (ref, options) <- logOptionsMemory
+ withLogFunc options $ \lf -> runRIO lf $ do
+ logSticky "\ESC[31mABC\ESC[0m"
+ logStickyDone "."
+ builder <- readIORef ref
+ toLazyByteString builder `shouldBe` "\ESC[31mABC\ESC[0m\b\b\b \b\b\b.\n"
it "setLogMinLevelIO" $ do
(ref, options) <- logOptionsMemory
logLevelRef <- newIORef LevelDebug
1
0
Hello community,
here is the log from the commit of package ghc-persistent-sqlite for openSUSE:Factory checked in at 2019-07-29 17:26:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-persistent-sqlite (Old)
and /work/SRC/openSUSE:Factory/.ghc-persistent-sqlite.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-persistent-sqlite"
Mon Jul 29 17:26:41 2019 rev:15 rq:715417 version:2.10.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-persistent-sqlite/ghc-persistent-sqlite.changes 2019-04-28 20:13:25.810419346 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-persistent-sqlite.new.4126/ghc-persistent-sqlite.changes 2019-07-29 17:26:45.498294061 +0200
@@ -1,0 +2,8 @@
+Tue Jul 2 02:02:08 UTC 2019 - psimons(a)suse.com
+
+- Update persistent-sqlite to version 2.10.1.
+ ## 2.10.1
+
+ * Add support for reading text values with null characters from the database. Fixes [#921](https://github.com/yesodweb/persistent/issues/921)
+
+-------------------------------------------------------------------
Old:
----
persistent-sqlite-2.10.0.tar.gz
persistent-sqlite.cabal
New:
----
persistent-sqlite-2.10.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-persistent-sqlite.spec ++++++
--- /var/tmp/diff_new_pack.JTn2d1/_old 2019-07-29 17:26:50.186292326 +0200
+++ /var/tmp/diff_new_pack.JTn2d1/_new 2019-07-29 17:26:50.190292325 +0200
@@ -19,14 +19,13 @@
%global pkg_name persistent-sqlite
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 2.10.0
+Version: 2.10.1
Release: 0
Summary: Backend for the persistent library using sqlite3
License: MIT
Group: Development/Libraries/Haskell
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{ve…
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal…
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-aeson-devel
BuildRequires: ghc-bytestring-devel
@@ -78,7 +77,6 @@
%prep
%setup -q -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%define cabal_configure_options -fsystemlib
++++++ persistent-sqlite-2.10.0.tar.gz -> persistent-sqlite-2.10.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/persistent-sqlite-2.10.0/ChangeLog.md new/persistent-sqlite-2.10.1/ChangeLog.md
--- old/persistent-sqlite-2.10.0/ChangeLog.md 2019-04-19 02:00:28.000000000 +0200
+++ new/persistent-sqlite-2.10.1/ChangeLog.md 2019-07-01 11:46:31.000000000 +0200
@@ -1,5 +1,9 @@
# Changelog for persistent-sqlite
+## 2.10.1
+
+* Add support for reading text values with null characters from the database. Fixes [#921](https://github.com/yesodweb/persistent/issues/921)
+
## 2.10.0
* Updated for `persistent-2.10.0` compatibility.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/persistent-sqlite-2.10.0/Database/Sqlite.hs new/persistent-sqlite-2.10.1/Database/Sqlite.hs
--- old/persistent-sqlite-2.10.0/Database/Sqlite.hs 2019-04-15 04:27:15.000000000 +0200
+++ new/persistent-sqlite-2.10.1/Database/Sqlite.hs 2019-07-01 11:43:34.000000000 +0200
@@ -521,7 +521,8 @@
columnText :: Statement -> Int -> IO Text
columnText (Statement statement) columnIndex = do
text <- columnTextC statement columnIndex
- byteString <- BS.packCString text
+ len <- columnBytesC statement columnIndex
+ byteString <- BS.packCStringLen (text, len)
return $ decodeUtf8With lenientDecode byteString
foreign import ccall "sqlite3_column_count"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/persistent-sqlite-2.10.0/persistent-sqlite.cabal new/persistent-sqlite-2.10.1/persistent-sqlite.cabal
--- old/persistent-sqlite-2.10.0/persistent-sqlite.cabal 2019-04-19 02:00:35.000000000 +0200
+++ new/persistent-sqlite-2.10.1/persistent-sqlite.cabal 2019-07-01 11:44:57.000000000 +0200
@@ -1,5 +1,5 @@
name: persistent-sqlite
-version: 2.10.0
+version: 2.10.1
license: MIT
license-file: LICENSE
author: Michael Snoyman <michael(a)snoyman.com>
@@ -38,7 +38,7 @@
library
build-depends: base >= 4.9 && < 5
- , persistent >= 2.9 && < 3
+ , persistent >= 2.10 && < 3
, aeson >= 1.0
, bytestring >= 0.10
, conduit >= 1.2.12
1
0
Hello community,
here is the log from the commit of package ghc-optparse-applicative for openSUSE:Factory checked in at 2019-07-29 17:26:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-optparse-applicative (Old)
and /work/SRC/openSUSE:Factory/.ghc-optparse-applicative.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-optparse-applicative"
Mon Jul 29 17:26:35 2019 rev:12 rq:715416 version:0.15.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-optparse-applicative/ghc-optparse-applicative.changes 2019-06-19 21:12:40.054758081 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-optparse-applicative.new.4126/ghc-optparse-applicative.changes 2019-07-29 17:26:40.638295860 +0200
@@ -1,0 +2,9 @@
+Sat Jul 6 02:02:17 UTC 2019 - psimons(a)suse.com
+
+- Update optparse-applicative to version 0.15.0.0.
+ Upstream has edited the change log file since the last release in
+ a non-trivial way, i.e. they did more than just add a new entry
+ at the top. You can review the file at:
+ http://hackage.haskell.org/package/optparse-applicative-0.15.0.0/src/CHANGE…
+
+-------------------------------------------------------------------
Old:
----
optparse-applicative-0.14.3.0.tar.gz
optparse-applicative.cabal
New:
----
optparse-applicative-0.15.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-optparse-applicative.spec ++++++
--- /var/tmp/diff_new_pack.M87nHH/_old 2019-07-29 17:26:42.006295354 +0200
+++ /var/tmp/diff_new_pack.M87nHH/_new 2019-07-29 17:26:42.006295354 +0200
@@ -19,14 +19,13 @@
%global pkg_name optparse-applicative
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.14.3.0
+Version: 0.15.0.0
Release: 0
Summary: Utilities and combinators for parsing command line options
License: BSD-3-Clause
Group: Development/Libraries/Haskell
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{ve…
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/2.cabal…
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-ansi-wl-pprint-devel
BuildRequires: ghc-process-devel
@@ -63,7 +62,6 @@
%prep
%setup -q -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
++++++ optparse-applicative-0.14.3.0.tar.gz -> optparse-applicative-0.15.0.0.tar.gz ++++++
++++ 6844 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package ghc-microlens-th for openSUSE:Factory checked in at 2019-07-29 17:26:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-microlens-th (Old)
and /work/SRC/openSUSE:Factory/.ghc-microlens-th.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-microlens-th"
Mon Jul 29 17:26:29 2019 rev:12 rq:715415 version:0.4.3.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-microlens-th/ghc-microlens-th.changes 2019-06-30 10:21:44.419642474 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-microlens-th.new.4126/ghc-microlens-th.changes 2019-07-29 17:26:35.350297817 +0200
@@ -1,0 +2,8 @@
+Sat Jul 6 02:02:18 UTC 2019 - psimons(a)suse.com
+
+- Update microlens-th to version 0.4.3.2.
+ # 0.4.3.2
+
+ * Bumped template-haskell version.
+
+-------------------------------------------------------------------
Old:
----
microlens-th-0.4.3.1.tar.gz
New:
----
microlens-th-0.4.3.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-microlens-th.spec ++++++
--- /var/tmp/diff_new_pack.ZFw8CF/_old 2019-07-29 17:26:36.118297533 +0200
+++ /var/tmp/diff_new_pack.ZFw8CF/_new 2019-07-29 17:26:36.122297532 +0200
@@ -19,7 +19,7 @@
%global pkg_name microlens-th
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.4.3.1
+Version: 0.4.3.2
Release: 0
Summary: Automatic generation of record lenses for microlens
License: BSD-3-Clause
++++++ microlens-th-0.4.3.1.tar.gz -> microlens-th-0.4.3.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/microlens-th-0.4.3.1/CHANGELOG.md new/microlens-th-0.4.3.2/CHANGELOG.md
--- old/microlens-th-0.4.3.1/CHANGELOG.md 2019-06-20 07:44:15.000000000 +0200
+++ new/microlens-th-0.4.3.2/CHANGELOG.md 2019-07-05 23:38:34.000000000 +0200
@@ -1,3 +1,7 @@
+# 0.4.3.2
+
+* Bumped template-haskell version.
+
# 0.4.3.1
* No more conditional `Safe` (see [#122](https://github.com/monadfix/microlens/issues/122)).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/microlens-th-0.4.3.1/microlens-th.cabal new/microlens-th-0.4.3.2/microlens-th.cabal
--- old/microlens-th-0.4.3.1/microlens-th.cabal 2019-06-20 07:44:05.000000000 +0200
+++ new/microlens-th-0.4.3.2/microlens-th.cabal 2019-07-05 23:38:34.000000000 +0200
@@ -1,5 +1,5 @@
name: microlens-th
-version: 0.4.3.1
+version: 0.4.3.2
synopsis: Automatic generation of record lenses for microlens
description:
This package lets you automatically generate lenses for data types; code was extracted from the lens package, and therefore generated lenses are fully compatible with ones generated by lens (and can be used both from lens and microlens).
@@ -8,7 +8,7 @@
license: BSD3
license-file: LICENSE
author: Eric Mertens, Edward Kmett, Artyom Kazak
-maintainer: Monadfix <hi(a)monadfix.io>
+maintainer: Monadfix <hi(a)monadfix.com>
homepage: http://github.com/monadfix/microlens
bug-reports: http://github.com/monadfix/microlens/issues
category: Data, Lenses
@@ -38,7 +38,7 @@
, containers >=0.4.0 && <0.7
, transformers
-- lens has >=2.4, but GHC 7.4 shipped with 2.7
- , template-haskell >=2.7 && <2.15
+ , template-haskell >=2.7 && <2.16
, th-abstraction >=0.2.1 && <0.4
ghc-options:
1
0
Hello community,
here is the log from the commit of package ghc-microlens for openSUSE:Factory checked in at 2019-07-29 17:26:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-microlens (Old)
and /work/SRC/openSUSE:Factory/.ghc-microlens.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-microlens"
Mon Jul 29 17:26:19 2019 rev:14 rq:715414 version:0.4.11.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-microlens/ghc-microlens.changes 2019-06-30 10:21:38.735633643 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-microlens.new.4126/ghc-microlens.changes 2019-07-29 17:26:25.590301430 +0200
@@ -1,0 +2,8 @@
+Sat Jul 6 02:02:21 UTC 2019 - psimons(a)suse.com
+
+- Update microlens to version 0.4.11.2.
+ # 0.4.11.2
+
+ * Fixed compilation on GHC 8.8 (thanks to @vmchale).
+
+-------------------------------------------------------------------
Old:
----
microlens-0.4.11.1.tar.gz
New:
----
microlens-0.4.11.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-microlens.spec ++++++
--- /var/tmp/diff_new_pack.BDFDGo/_old 2019-07-29 17:26:27.614300681 +0200
+++ /var/tmp/diff_new_pack.BDFDGo/_new 2019-07-29 17:26:27.618300680 +0200
@@ -18,7 +18,7 @@
%global pkg_name microlens
Name: ghc-%{pkg_name}
-Version: 0.4.11.1
+Version: 0.4.11.2
Release: 0
Summary: A tiny lens library with no dependencies
License: BSD-3-Clause
++++++ microlens-0.4.11.1.tar.gz -> microlens-0.4.11.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/microlens-0.4.11.1/CHANGELOG.md new/microlens-0.4.11.2/CHANGELOG.md
--- old/microlens-0.4.11.1/CHANGELOG.md 2019-06-20 07:46:05.000000000 +0200
+++ new/microlens-0.4.11.2/CHANGELOG.md 2019-07-05 23:38:34.000000000 +0200
@@ -1,3 +1,7 @@
+# 0.4.11.2
+
+* Fixed compilation on GHC 8.8 (thanks to @vmchale).
+
# 0.4.11.1
* Reverted marking `Lens.Micro.Internal` as `Trustworthy`, see [#122](https://github.com/monadfix/microlens/issues/122).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/microlens-0.4.11.1/microlens.cabal new/microlens-0.4.11.2/microlens.cabal
--- old/microlens-0.4.11.1/microlens.cabal 2019-06-20 07:46:10.000000000 +0200
+++ new/microlens-0.4.11.2/microlens.cabal 2019-07-05 23:38:34.000000000 +0200
@@ -1,5 +1,5 @@
name: microlens
-version: 0.4.11.1
+version: 0.4.11.2
synopsis: A tiny lens library with no dependencies
description:
NOTE: If you're writing an app, you probably want <http://hackage.haskell.org/package/microlens-platform microlens-platform> – it has the most features. <http://hackage.haskell.org/package/microlens microlens> is intended more for library writers who want a tiny lens library (after all, lenses are pretty useful for everything, not just for updating records!).
@@ -32,7 +32,7 @@
license: BSD3
license-file: LICENSE
author: Edward Kmett, Artyom Kazak
-maintainer: Monadfix <hi(a)monadfix.io>
+maintainer: Monadfix <hi(a)monadfix.com>
homepage: http://github.com/monadfix/microlens
bug-reports: http://github.com/monadfix/microlens/issues
-- copyright:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/microlens-0.4.11.1/src/Lens/Micro.hs new/microlens-0.4.11.2/src/Lens/Micro.hs
--- old/microlens-0.4.11.1/src/Lens/Micro.hs 2019-06-18 01:03:47.000000000 +0200
+++ new/microlens-0.4.11.2/src/Lens/Micro.hs 2019-07-05 23:38:34.000000000 +0200
@@ -25,6 +25,7 @@
Unofficial:
* <http://hackage.haskell.org/package/microlens-aeson microlens-aeson> – a port of <http://hackage.haskell.org/package/lens-aeson lens-aeson>
+* <http://hackage.haskell.org/package/microlens-process microlens-process> - a port of <http://hackage.haskell.org/package/lens-process lens-process>
-}
module Lens.Micro
@@ -1461,8 +1462,10 @@
~(a, s') <- runStateT m s
runStateT (k a) s'
{-# INLINE (>>=) #-}
+#if !MIN_VERSION_base(4,13,0)
fail str = StateT $ \ _ -> fail str
{-# INLINE fail #-}
+#endif
#if MIN_VERSION_base(4,9,0)
instance (Fail.MonadFail m) => Fail.MonadFail (StateT s m) where
1
0
Hello community,
here is the log from the commit of package ghc-logict for openSUSE:Factory checked in at 2019-07-29 17:26:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-logict (Old)
and /work/SRC/openSUSE:Factory/.ghc-logict.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-logict"
Mon Jul 29 17:26:14 2019 rev:7 rq:715413 version:0.7.0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-logict/ghc-logict.changes 2019-05-09 10:10:13.293167452 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-logict.new.4126/ghc-logict.changes 2019-07-29 17:26:16.850304666 +0200
@@ -1,0 +2,18 @@
+Mon Jul 8 02:01:00 UTC 2019 - psimons(a)suse.com
+
+- Update logict to version 0.7.0.1.
+ # 0.7.0.1
+
+ * Fix `MonadReader r (LogicT m)` instance again.
+
+-------------------------------------------------------------------
+Sun Jun 30 02:01:08 UTC 2019 - psimons(a)suse.com
+
+- Update logict to version 0.7.0.0.
+ # 0.7.0.0
+
+ * Remove unlawful `MonadLogic (Writer T w m)` instances.
+ * Fix `MonadReader r (LogicT m)` instance.
+ * Move `lnot` into `MonadLogic` class.
+
+-------------------------------------------------------------------
Old:
----
logict-0.6.0.3.tar.gz
New:
----
logict-0.7.0.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-logict.spec ++++++
--- /var/tmp/diff_new_pack.1xCjkX/_old 2019-07-29 17:26:17.510304422 +0200
+++ /var/tmp/diff_new_pack.1xCjkX/_new 2019-07-29 17:26:17.514304420 +0200
@@ -17,8 +17,9 @@
%global pkg_name logict
+%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.6.0.3
+Version: 0.7.0.1
Release: 0
Summary: A backtracking logic-programming monad
License: BSD-3-Clause
@@ -28,6 +29,10 @@
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-mtl-devel
BuildRequires: ghc-rpm-macros
+%if %{with tests}
+BuildRequires: ghc-tasty-devel
+BuildRequires: ghc-tasty-hunit-devel
+%endif
%description
A continuation-based, backtracking, logic programming monad. An adaptation of
@@ -55,6 +60,9 @@
%install
%ghc_lib_install
+%check
+%cabal_test
+
%post devel
%ghc_pkg_recache
++++++ logict-0.6.0.3.tar.gz -> logict-0.7.0.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/logict-0.6.0.3/Control/Monad/Logic/Class.hs new/logict-0.7.0.1/Control/Monad/Logic/Class.hs
--- old/logict-0.6.0.3/Control/Monad/Logic/Class.hs 2014-02-09 23:59:08.000000000 +0100
+++ new/logict-0.7.0.1/Control/Monad/Logic/Class.hs 2019-06-29 22:03:05.000000000 +0200
@@ -14,20 +14,15 @@
-- /Backtracking, Interleaving, and Terminating
-- Monad Transformers/, by
-- Oleg Kiselyov, Chung-chieh Shan, Daniel P. Friedman, Amr Sabry
--- (<http://www.cs.rutgers.edu/~ccshan/logicprog/LogicT-icfp2005.pdf>)
+-- (<http://okmij.org/ftp/papers/LogicT.pdf>)
-------------------------------------------------------------------------
-module Control.Monad.Logic.Class (MonadLogic(..), reflect, lnot) where
+module Control.Monad.Logic.Class (MonadLogic(..), reflect) where
+import Control.Monad.Reader
import qualified Control.Monad.State.Lazy as LazyST
import qualified Control.Monad.State.Strict as StrictST
-import Control.Monad.Reader
-
-import Data.Monoid
-import qualified Control.Monad.Writer.Lazy as LazyWT
-import qualified Control.Monad.Writer.Strict as StrictWT
-
-------------------------------------------------------------------------------
-- | Minimal implementation: msplit
class (MonadPlus m) => MonadLogic m where
@@ -79,6 +74,10 @@
-- such.
once :: m a -> m a
+ -- | Inverts a logic computation. If @m@ succeeds with at least one value,
+ -- @lnot m@ fails. If @m@ fails, then @lnot m@ succeeds the value @()@.
+ lnot :: m a -> m ()
+
-- All the class functions besides msplit can be derived from msplit, if
-- desired
interleave m1 m2 = msplit m1 >>=
@@ -92,6 +91,8 @@
once m = do (a, _) <- maybe mzero return =<< msplit m
return a
+ lnot m = ifte (once m) (const mzero) (return ())
+
-------------------------------------------------------------------------------
-- | The inverse of msplit. Satisfies the following law:
@@ -101,33 +102,27 @@
reflect Nothing = mzero
reflect (Just (a, m)) = return a `mplus` m
--- | Inverts a logic computation. If @m@ succeeds with at least one value,
--- @lnot m@ fails. If @m@ fails, then @lnot m@ succeeds the value @()@.
-lnot :: MonadLogic m => m a -> m ()
-lnot m = ifte (once m) (const mzero) (return ())
-
-- An instance of MonadLogic for lists
instance MonadLogic [] where
msplit [] = return Nothing
msplit (x:xs) = return $ Just (x, xs)
--- Some of these may be questionable instances. Splitting a transformer does
--- not allow you to provide different input to the monadic object returned.
--- So, for instance, in:
+-- | Note that splitting a transformer does
+-- not allow you to provide different input
+-- to the monadic object returned.
+-- For instance, in:
--
--- let Just (_, rm') = runReaderT (msplit rm) r
--- in runReaderT rm' r'
+-- > let Just (_, rm') = runReaderT (msplit rm) r in runReaderT rm' r'
--
--- The "r'" parameter will be ignored, as "r" was already threaded through the
--- computation. The results are similar for StateT. However, this is likely not
--- an issue as most uses of msplit (all the ones in this library, at least) would
--- not allow for that anyway.
+-- @r'@ will be ignored, because @r@ was already threaded through the
+-- computation.
instance MonadLogic m => MonadLogic (ReaderT e m) where
msplit rm = ReaderT $ \e -> do r <- msplit $ runReaderT rm e
case r of
Nothing -> return Nothing
Just (a, m) -> return (Just (a, lift m))
+-- | See note on splitting above.
instance MonadLogic m => MonadLogic (StrictST.StateT s m) where
msplit sm = StrictST.StateT $ \s ->
do r <- msplit (StrictST.runStateT sm s)
@@ -148,6 +143,7 @@
once ma = StrictST.StateT $ \s -> once (StrictST.runStateT ma s)
+-- | See note on splitting above.
instance MonadLogic m => MonadLogic (LazyST.StateT s m) where
msplit sm = LazyST.StateT $ \s ->
do r <- msplit (LazyST.runStateT sm s)
@@ -167,47 +163,3 @@
(LazyST.runStateT el s)
once ma = LazyST.StateT $ \s -> once (LazyST.runStateT ma s)
-
-instance (MonadLogic m, Monoid w) => MonadLogic (StrictWT.WriterT w m) where
- msplit wm = StrictWT.WriterT $
- do r <- msplit (StrictWT.runWriterT wm)
- case r of
- Nothing -> return (Nothing, mempty)
- Just ((a,w), m) ->
- return (Just (a, StrictWT.WriterT m), w)
-
- interleave ma mb = StrictWT.WriterT $
- StrictWT.runWriterT ma `interleave` StrictWT.runWriterT mb
-
- ma >>- f = StrictWT.WriterT $
- StrictWT.runWriterT ma >>- \(a,w) ->
- StrictWT.runWriterT (StrictWT.tell w >> f a)
-
- ifte t th el = StrictWT.WriterT $
- ifte (StrictWT.runWriterT t)
- (\(a,w) -> StrictWT.runWriterT (StrictWT.tell w >> th a))
- (StrictWT.runWriterT el)
-
- once ma = StrictWT.WriterT $ once (StrictWT.runWriterT ma)
-
-instance (MonadLogic m, Monoid w) => MonadLogic (LazyWT.WriterT w m) where
- msplit wm = LazyWT.WriterT $
- do r <- msplit (LazyWT.runWriterT wm)
- case r of
- Nothing -> return (Nothing, mempty)
- Just ((a,w), m) ->
- return (Just (a, LazyWT.WriterT m), w)
-
- interleave ma mb = LazyWT.WriterT $
- LazyWT.runWriterT ma `interleave` LazyWT.runWriterT mb
-
- ma >>- f = LazyWT.WriterT $
- LazyWT.runWriterT ma >>- \(a,w) ->
- LazyWT.runWriterT (LazyWT.tell w >> f a)
-
- ifte t th el = LazyWT.WriterT $
- ifte (LazyWT.runWriterT t)
- (\(a,w) -> LazyWT.runWriterT (LazyWT.tell w >> th a))
- (LazyWT.runWriterT el)
-
- once ma = LazyWT.WriterT $ once (LazyWT.runWriterT ma)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/logict-0.6.0.3/Control/Monad/Logic.hs new/logict-0.7.0.1/Control/Monad/Logic.hs
--- old/logict-0.6.0.3/Control/Monad/Logic.hs 2019-04-30 23:09:32.000000000 +0200
+++ new/logict-0.7.0.1/Control/Monad/Logic.hs 2019-07-08 00:07:43.000000000 +0200
@@ -1,5 +1,3 @@
-{-# LANGUAGE CPP, UndecidableInstances, Rank2Types, FlexibleInstances, MultiParamTypeClasses #-}
-
-------------------------------------------------------------------------
-- |
-- Module : Control.Monad.Logic
@@ -16,9 +14,11 @@
-- /Backtracking, Interleaving, and Terminating
-- Monad Transformers/, by
-- Oleg Kiselyov, Chung-chieh Shan, Daniel P. Friedman, Amr Sabry
--- (<http://www.cs.rutgers.edu/~ccshan/logicprog/LogicT-icfp2005.pdf>).
+-- (<http://okmij.org/ftp/papers/LogicT.pdf>).
-------------------------------------------------------------------------
+{-# LANGUAGE CPP, UndecidableInstances, Rank2Types, FlexibleInstances, MultiParamTypeClasses #-}
+
module Control.Monad.Logic (
module Control.Monad.Logic.Class,
-- * The Logic monad
@@ -49,7 +49,9 @@
import Control.Monad.State.Class
import Control.Monad.Error.Class
+#if !MIN_VERSION_base(4,8,0)
import Data.Monoid (Monoid(mappend, mempty))
+#endif
import qualified Data.Foldable as F
import qualified Data.Traversable as T
@@ -57,7 +59,7 @@
-------------------------------------------------------------------------
-- | A monad transformer for performing backtracking computations
--- layered over another monad 'm'
+-- layered over another monad @m@.
newtype LogicT m a =
LogicT { unLogicT :: forall r. (a -> m r -> m r) -> m r -> m r }
@@ -95,7 +97,7 @@
-------------------------------------------------------------------------
-- | The basic Logic monad, for performing backtracking computations
--- returning values of type 'a'
+-- returning values of type @a@.
type Logic = LogicT Identity
-------------------------------------------------------------------------
@@ -118,7 +120,9 @@
-------------------------------------------------------------------------
-- | Extracts up to a given number of results from a Logic computation.
observeMany :: Int -> Logic a -> [a]
-observeMany i = runIdentity . observeManyT i
+observeMany i = take i . observeAll
+-- Implementing 'observeMany' using 'observeManyT' is quite costly,
+-- because it calls 'msplit' multiple times.
-------------------------------------------------------------------------
-- | Runs a Logic computation with the specified initial success and
@@ -161,13 +165,29 @@
liftIO = lift . liftIO
instance (Monad m) => MonadLogic (LogicT m) where
+ -- 'msplit' is quite costly even if the base 'Monad' is 'Identity'.
+ -- Try to avoid it.
msplit m = lift $ unLogicT m ssk (return Nothing)
where
ssk a fk = return $ Just (a, (lift fk >>= reflect))
+ once m = LogicT $ \sk fk -> unLogicT m (\a _ -> sk a fk) fk
+ lnot m = LogicT $ \sk fk -> unLogicT m (\_ _ -> fk) (sk () fk)
+
+#if MIN_VERSION_base(4,8,0)
-instance (Monad m, F.Foldable m) => F.Foldable (LogicT m) where
+instance {-# OVERLAPPABLE #-} (Monad m, F.Foldable m) => F.Foldable (LogicT m) where
foldMap f m = F.fold $ unLogicT m (liftM . mappend . f) (return mempty)
+instance {-# OVERLAPPING #-} F.Foldable (LogicT Identity) where
+ foldr f z m = runLogic m f z
+
+#else
+
+instance {-# OVERLAPPABLE #-} (Monad m, F.Foldable m) => F.Foldable (LogicT m) where
+ foldMap f m = F.fold $ unLogicT m (liftM . mappend . f) (return mempty)
+
+#endif
+
instance T.Traversable (LogicT Identity) where
traverse g l = runLogic l (\a ft -> cons <$> g a <*> ft) (pure mzero)
where cons a l' = return a `mplus` l'
@@ -175,7 +195,9 @@
-- Needs undecidable instances
instance MonadReader r m => MonadReader r (LogicT m) where
ask = lift ask
- local f m = LogicT $ \sk fk -> unLogicT m ((local f .) . sk) (local f fk)
+ local f (LogicT m) = LogicT $ \sk fk -> do
+ env <- ask
+ local f $ m ((local (const env) .) . sk) (local (const env) fk)
-- Needs undecidable instances
instance MonadState s m => MonadState s (LogicT m) where
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/logict-0.6.0.3/changelog.md new/logict-0.7.0.1/changelog.md
--- old/logict-0.6.0.3/changelog.md 2019-04-30 23:09:32.000000000 +0200
+++ new/logict-0.7.0.1/changelog.md 2019-07-08 00:07:43.000000000 +0200
@@ -1,3 +1,13 @@
+# 0.7.0.1
+
+* Fix `MonadReader r (LogicT m)` instance again.
+
+# 0.7.0.0
+
+* Remove unlawful `MonadLogic (Writer T w m)` instances.
+* Fix `MonadReader r (LogicT m)` instance.
+* Move `lnot` into `MonadLogic` class.
+
# 0.6.0.3
* Comply with MonadFail proposal.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/logict-0.6.0.3/logict.cabal new/logict-0.7.0.1/logict.cabal
--- old/logict-0.6.0.3/logict.cabal 2019-04-30 23:10:34.000000000 +0200
+++ new/logict-0.7.0.1/logict.cabal 2019-07-08 00:07:43.000000000 +0200
@@ -1,38 +1,53 @@
-name: logict
-version: 0.6.0.3
-description: A continuation-based, backtracking, logic programming monad.
- An adaptation of the two-continuation implementation found
- in the paper "Backtracking, Interleaving, and Terminating
- Monad Transformers" available here:
- <http://okmij.org/ftp/papers/LogicT.pdf>
-synopsis: A backtracking logic-programming monad.
-category: Control
-license: BSD3
-license-file: LICENSE
-copyright: Copyright (c) 2007-2014, Dan Doel,
- Copyright (c) 2011-2013, Edward Kmett,
- Copyright (c) 2014, Roman Cheplyaka
-author: Dan Doel
-maintainer: Andrew Lelechenko <andrew.lelechenko(a)gmail.com>
-homepage: https://github.com/Bodigrim/logict#readme
-cabal-version: >= 1.9.2
-tested-with: GHC
-build-type: Simple
-extra-source-files: changelog.md
+name: logict
+version: 0.7.0.1
+license: BSD3
+license-file: LICENSE
+copyright:
+ Copyright (c) 2007-2014, Dan Doel,
+ Copyright (c) 2011-2013, Edward Kmett,
+ Copyright (c) 2014, Roman Cheplyaka
+maintainer: Andrew Lelechenko <andrew.lelechenko(a)gmail.com>
+author: Dan Doel
+tested-with: ghc -any
+homepage: https://github.com/Bodigrim/logict#readme
+synopsis: A backtracking logic-programming monad.
+description:
+ A continuation-based, backtracking, logic programming monad.
+ An adaptation of the two-continuation implementation found
+ in the paper "Backtracking, Interleaving, and Terminating
+ Monad Transformers" available here:
+ <http://okmij.org/ftp/papers/LogicT.pdf>
+category: Control
+build-type: Simple
+extra-source-files:
+ changelog.md
+cabal-version: >=1.9.2
source-repository head
type: git
location: https://github.com/Bodigrim/logict
library
- build-depends: base >=2 && < 5, mtl>=2 && <2.3
- if impl(ghc < 8.0)
- build-depends: fail
+ exposed-modules:
+ Control.Monad.Logic
+ Control.Monad.Logic.Class
+ ghc-options: -O2 -Wall
+ build-depends:
+ base >=2 && <5,
+ mtl >=2 && <2.3
- exposed-modules: Control.Monad.Logic,
- Control.Monad.Logic.Class
- extensions: MultiParamTypeClasses,
- UndecidableInstances,
- Rank2Types,
- FlexibleInstances
- ghc-options: -O2 -Wall
+ if impl(ghc <8.0)
+ build-depends:
+ fail -any
+
+test-suite logict-tests
+ type: exitcode-stdio-1.0
+ main-is: Test.hs
+ ghc-options: -Wall
+ build-depends:
+ base >=2 && <5,
+ logict -any,
+ mtl >=2 && <2.3,
+ tasty,
+ tasty-hunit
+ hs-source-dirs: test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/logict-0.6.0.3/test/Test.hs new/logict-0.7.0.1/test/Test.hs
--- old/logict-0.6.0.3/test/Test.hs 1970-01-01 01:00:00.000000000 +0100
+++ new/logict-0.7.0.1/test/Test.hs 2019-07-07 23:58:05.000000000 +0200
@@ -0,0 +1,29 @@
+{-# LANGUAGE FlexibleContexts #-}
+
+module Main where
+
+import Test.Tasty
+import Test.Tasty.HUnit
+
+import Control.Monad.Logic
+import Control.Monad.Reader
+
+monadReader1 :: Assertion
+monadReader1 = assertEqual "should be equal" [5 :: Int] $
+ runReader (observeAllT (local (+ 5) ask)) 0
+
+monadReader2 :: Assertion
+monadReader2 = assertEqual "should be equal" [(5, 0)] $
+ runReader (observeAllT foo) 0
+ where
+ foo :: MonadReader Int m => m (Int,Int)
+ foo = do
+ x <- local (5+) ask
+ y <- ask
+ return (x,y)
+
+main :: IO ()
+main = defaultMain $ testGroup "All"
+ [ testCase "Monad Reader 1" monadReader1
+ , testCase "Monad Reader 2" monadReader2
+ ]
1
0
Hello community,
here is the log from the commit of package ghc-hxt-charproperties for openSUSE:Factory checked in at 2019-07-29 17:26:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-hxt-charproperties (Old)
and /work/SRC/openSUSE:Factory/.ghc-hxt-charproperties.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-hxt-charproperties"
Mon Jul 29 17:26:10 2019 rev:6 rq:715412 version:9.4.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-hxt-charproperties/ghc-hxt-charproperties.changes 2018-10-25 08:26:40.419792990 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-hxt-charproperties.new.4126/ghc-hxt-charproperties.changes 2019-07-29 17:26:12.058306440 +0200
@@ -1,0 +2,6 @@
+Mon Jul 1 02:02:25 UTC 2019 - psimons(a)suse.com
+
+- Update hxt-charproperties to version 9.4.0.0.
+ Upstream does not provide a change log file.
+
+-------------------------------------------------------------------
Old:
----
hxt-charproperties-9.2.0.1.tar.gz
New:
----
hxt-charproperties-9.4.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-hxt-charproperties.spec ++++++
--- /var/tmp/diff_new_pack.Wjel0D/_old 2019-07-29 17:26:14.642305483 +0200
+++ /var/tmp/diff_new_pack.Wjel0D/_new 2019-07-29 17:26:14.646305482 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-hxt-charproperties
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 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,7 +18,7 @@
%global pkg_name hxt-charproperties
Name: ghc-%{pkg_name}
-Version: 9.2.0.1
+Version: 9.4.0.0
Release: 0
Summary: Character properties and classes for XML and Unicode
License: MIT
@@ -29,9 +29,10 @@
BuildRequires: ghc-rpm-macros
%description
-Character proprties defined by XML and Unicode standards. These modules contain
-predicates for Unicode blocks and char proprties and character predicates
-defined by XML. Supported Unicode version is 7.0.0.
+Character properties defined by XML and Unicode standards. These modules
+contain predicates for Unicode blocks and char proprties and character
+predicates defined by XML. Supported Unicode version is 12.1.0 9.3.0.2:
+Supported Unicode version 9.0.0.
%package devel
Summary: Haskell %{pkg_name} library development files
++++++ hxt-charproperties-9.2.0.1.tar.gz -> hxt-charproperties-9.4.0.0.tar.gz ++++++
++++ 9483 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package ghc-hxt for openSUSE:Factory checked in at 2019-07-29 17:26:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-hxt (Old)
and /work/SRC/openSUSE:Factory/.ghc-hxt.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-hxt"
Mon Jul 29 17:26:06 2019 rev:7 rq:715411 version:9.3.1.18
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-hxt/ghc-hxt.changes 2018-10-25 08:26:36.259794908 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-hxt.new.4126/ghc-hxt.changes 2019-07-29 17:26:07.854307996 +0200
@@ -1,0 +2,6 @@
+Mon Jul 1 02:02:30 UTC 2019 - psimons(a)suse.com
+
+- Update hxt to version 9.3.1.18.
+ Upstream does not provide a change log file.
+
+-------------------------------------------------------------------
Old:
----
hxt-9.3.1.16.tar.gz
New:
----
hxt-9.3.1.18.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-hxt.spec ++++++
--- /var/tmp/diff_new_pack.BbcaTw/_old 2019-07-29 17:26:08.438307780 +0200
+++ /var/tmp/diff_new_pack.BbcaTw/_new 2019-07-29 17:26:08.438307780 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-hxt
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 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,7 +18,7 @@
%global pkg_name hxt
Name: ghc-%{pkg_name}
-Version: 9.3.1.16
+Version: 9.3.1.18
Release: 0
Summary: A collection of tools for processing XML with Haskell
License: MIT
++++++ hxt-9.3.1.16.tar.gz -> hxt-9.3.1.18.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hxt-9.3.1.16/hxt.cabal new/hxt-9.3.1.18/hxt.cabal
--- old/hxt-9.3.1.16/hxt.cabal 2016-10-18 10:31:22.000000000 +0200
+++ new/hxt-9.3.1.18/hxt.cabal 2019-06-30 13:02:51.000000000 +0200
@@ -1,6 +1,6 @@
-- arch-tag: Haskell XML Toolbox main description file
Name: hxt
-Version: 9.3.1.16
+Version: 9.3.1.18
Synopsis: A collection of tools for processing XML with Haskell.
Description: The Haskell XML Toolbox bases on the ideas of HaXml and HXML,
but introduces a more general approach for processing XML with Haskell.
@@ -66,7 +66,7 @@
Stability: Stable
Category: XML
Homepage: https://github.com/UweSchmidt/hxt
-Copyright: Copyright (c) 2005-20161 Uwe Schmidt
+Copyright: Copyright (c) 2005-2019 Uwe Schmidt
Build-type: Simple
Cabal-version: >=1.8
@@ -123,6 +123,10 @@
with ghc >= 7.10 default is True
default: False
+flag profile
+ description: turn profiling on
+ default: False
+
library
exposed-modules:
Control.Arrow.ArrowExc,
@@ -210,8 +214,10 @@
hs-source-dirs: src
- ghc-options: -Wall
- ghc-prof-options: -caf-all
+ ghc-options: -Wall -fwarn-tabs
+
+ if flag(profile)
+ ghc-prof-options: -caf-all
extensions: MultiParamTypeClasses DeriveDataTypeable FunctionalDependencies FlexibleInstances CPP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hxt-9.3.1.16/src/Control/Arrow/ArrowList.hs new/hxt-9.3.1.18/src/Control/Arrow/ArrowList.hs
--- old/hxt-9.3.1.16/src/Control/Arrow/ArrowList.hs 2016-08-10 09:55:56.000000000 +0200
+++ new/hxt-9.3.1.18/src/Control/Arrow/ArrowList.hs 2019-06-30 15:27:54.000000000 +0200
@@ -13,11 +13,13 @@
This module defines the interface for list arrows.
- A list arrow is a function, that gives a list of results
+ A list arrow is a function that gives a list of results
for a given argument. A single element result represents a normal function.
- An empty list oven indicates, the function is undefined for the given argument.
- The empty list may also represent False, none empty lists True.
- A list with more than one element gives all results for a nondeterministic function.
+ An empty list often indicates that the function is undefined
+ for the given argument.
+ The empty list may also represent False, non-empty lists True.
+ A list with more than one element gives all results for a
+ so called nondeterministic function.
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hxt-9.3.1.16/src/Control/Arrow/ArrowNF.hs new/hxt-9.3.1.18/src/Control/Arrow/ArrowNF.hs
--- old/hxt-9.3.1.16/src/Control/Arrow/ArrowNF.hs 2016-08-10 09:55:56.000000000 +0200
+++ new/hxt-9.3.1.18/src/Control/Arrow/ArrowNF.hs 2019-06-30 15:23:46.000000000 +0200
@@ -42,7 +42,7 @@
-- |
-- partial evaluation of an arrow result using 'Control.FlatSeq'
--
--- There are tow arrows with force the partial evaluation. By convention
+-- There are two arrows with force the partial evaluation. By convention
-- the 2. should be less lazy than the 1.
--
-- These arrows are sometimes useful for preventing space leaks, especially when parsing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hxt-9.3.1.16/src/Text/XML/HXT/Arrow/Pickle/Xml.hs new/hxt-9.3.1.18/src/Text/XML/HXT/Arrow/Pickle/Xml.hs
--- old/hxt-9.3.1.16/src/Text/XML/HXT/Arrow/Pickle/Xml.hs 2016-08-10 09:55:56.000000000 +0200
+++ new/hxt-9.3.1.18/src/Text/XML/HXT/Arrow/Pickle/Xml.hs 2019-06-30 15:23:38.000000000 +0200
@@ -20,7 +20,7 @@
This module is an adaptation of the pickler combinators
developed by Andrew Kennedy
- ( http:\/\/research.microsoft.com\/~akenn\/fun\/picklercombinators.pdf ).
+ ( https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2004\/01\/picklercombinators.pdf )
The difference to Kennedys approach is that the target is not
a list of Chars but a list of XmlTrees. The basic picklers will
@@ -141,8 +141,6 @@
case r of
Left err -> (Left err, st')
Right v -> runUP (f v) st'
- fail = throwMsg -- don't use fail, use throwError
-
instance MonadState St Unpickler where
get = UP $ \ st -> (Right st, st)
@@ -454,7 +452,7 @@
) .
xpPair pa
--- | combine tow picklers with a choice
+-- | combine two picklers with a choice
--
-- Run two picklers in sequence like with xpSeq.
-- If during unpickling the first one fails,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hxt-9.3.1.16/src/Text/XML/HXT/Arrow/Pickle.hs new/hxt-9.3.1.18/src/Text/XML/HXT/Arrow/Pickle.hs
--- old/hxt-9.3.1.16/src/Text/XML/HXT/Arrow/Pickle.hs 2016-08-10 09:55:56.000000000 +0200
+++ new/hxt-9.3.1.18/src/Text/XML/HXT/Arrow/Pickle.hs 2019-06-30 15:20:49.000000000 +0200
@@ -15,7 +15,7 @@
This module is an adaptation of the pickler combinators
developed by Andrew Kennedy
-( http:\/\/research.microsoft.com\/~akenn\/fun\/picklercombinators.pdf )
+( https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2004\/01\/picklercombinators.pdf )
The difference to Kennedys approach is that the target is not
a list of Chars but a list of XmlTrees. The basic picklers will
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hxt-9.3.1.16/src/Text/XML/HXT/Arrow/XmlArrow.hs new/hxt-9.3.1.18/src/Text/XML/HXT/Arrow/XmlArrow.hs
--- old/hxt-9.3.1.16/src/Text/XML/HXT/Arrow/XmlArrow.hs 2016-08-10 09:55:56.000000000 +0200
+++ new/hxt-9.3.1.18/src/Text/XML/HXT/Arrow/XmlArrow.hs 2019-06-30 15:17:16.000000000 +0200
@@ -277,17 +277,17 @@
mkelem n afs cfs = mkElement (mkName n) (catA afs) (catA cfs)
{-# INLINE mkelem #-}
- -- | convenient arrow for element constrution with attributes but without content, simple variant of 'mkelem' and 'mkElement'
+ -- | convenient arrow for element construction with attributes but without content, simple variant of 'mkelem' and 'mkElement'
aelem :: String -> [a n XmlTree] -> a n XmlTree
aelem n afs = catA afs >. \ al -> XN.mkElement (mkName n) al []
{-# INLINE aelem #-}
- -- | convenient arrow for simple element constrution without attributes, simple variant of 'mkelem' and 'mkElement'
+ -- | convenient arrow for simple element construction without attributes, simple variant of 'mkelem' and 'mkElement'
selem :: String -> [a n XmlTree] -> a n XmlTree
selem n cfs = catA cfs >. XN.mkElement (mkName n) []
{-# INLINE selem #-}
- -- | convenient arrow for constrution of empty elements without attributes, simple variant of 'mkelem' and 'mkElement'
+ -- | convenient arrow for construction of empty elements without attributes, simple variant of 'mkelem' and 'mkElement'
eelem :: String -> a n XmlTree
eelem n = constA (XN.mkElement (mkName n) [] [])
{-# INLINE eelem #-}
@@ -302,7 +302,7 @@
qattr = mkAttr
{-# INLINE qattr #-}
- -- | convenient arrow for attribute constrution, simple variant of 'mkAttr'
+ -- | convenient arrow for attribute construction, simple variant of 'mkAttr'
attr :: String -> a n XmlTree -> a n XmlTree
attr = mkAttr . mkName
{-# INLINE attr #-}
1
0
Hello community,
here is the log from the commit of package ghc-conduit-extra for openSUSE:Factory checked in at 2019-07-29 17:26:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-conduit-extra (Old)
and /work/SRC/openSUSE:Factory/.ghc-conduit-extra.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-conduit-extra"
Mon Jul 29 17:26:04 2019 rev:22 rq:715410 version:1.3.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-conduit-extra/ghc-conduit-extra.changes 2019-06-30 10:21:32.283623620 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-conduit-extra.new.4126/ghc-conduit-extra.changes 2019-07-29 17:26:06.894308351 +0200
@@ -1,0 +2,8 @@
+Thu Jul 4 02:03:29 UTC 2019 - psimons(a)suse.com
+
+- Update conduit-extra to version 1.3.4.
+ ## 1.3.4
+
+ * Use `MonadUnliftIO`-generalized versions of `withProcess`-style functions now provided by `typed-process`
+
+-------------------------------------------------------------------
Old:
----
conduit-extra-1.3.3.tar.gz
New:
----
conduit-extra-1.3.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-conduit-extra.spec ++++++
--- /var/tmp/diff_new_pack.MA5zEY/_old 2019-07-29 17:26:07.386308169 +0200
+++ /var/tmp/diff_new_pack.MA5zEY/_new 2019-07-29 17:26:07.390308168 +0200
@@ -19,7 +19,7 @@
%global pkg_name conduit-extra
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 1.3.3
+Version: 1.3.4
Release: 0
Summary: Batteries included conduit: adapters for common libraries
License: MIT
++++++ conduit-extra-1.3.3.tar.gz -> conduit-extra-1.3.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conduit-extra-1.3.3/ChangeLog.md new/conduit-extra-1.3.4/ChangeLog.md
--- old/conduit-extra-1.3.3/ChangeLog.md 2019-06-19 07:58:06.000000000 +0200
+++ new/conduit-extra-1.3.4/ChangeLog.md 2019-07-03 07:29:45.000000000 +0200
@@ -1,5 +1,9 @@
# ChangeLog for conduit-extra
+## 1.3.4
+
+* Use `MonadUnliftIO`-generalized versions of `withProcess`-style functions now provided by `typed-process`
+
## 1.3.3
* Disable buffering in process modules [#402](https://github.com/snoyberg/conduit/issues/402)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conduit-extra-1.3.3/Data/Conduit/Process/Typed.hs new/conduit-extra-1.3.4/Data/Conduit/Process/Typed.hs
--- old/conduit-extra-1.3.3/Data/Conduit/Process/Typed.hs 2019-06-19 07:57:42.000000000 +0200
+++ new/conduit-extra-1.3.4/Data/Conduit/Process/Typed.hs 2019-07-03 07:01:28.000000000 +0200
@@ -6,15 +6,13 @@
( -- * Conduit specific stuff
createSink
, createSource
- -- * Generalized functions
- , withProcess -- FIXME import from rio instead
- , withProcess_
+ -- * Running a process with logging
, withLoggedProcess_
-- * Reexports
, module System.Process.Typed
) where
-import System.Process.Typed hiding (withProcess, withProcess_)
+import System.Process.Typed
import qualified System.Process.Typed as P
import Data.Conduit (ConduitM, (.|), runConduit)
import qualified Data.Conduit.Binary as CB
@@ -97,7 +95,10 @@
stderrBuffer <- newIORef id
let pc' = setStdout (createSourceLogged stdoutBuffer)
$ setStderr (createSourceLogged stderrBuffer) pc
- P.withProcess pc' $ \p -> do
+ -- withProcessWait vs Term doesn't actually matter here, since we
+ -- call checkExitCode inside regardless. But still, Wait is the
+ -- safer function to use in general.
+ P.withProcessWait pc' $ \p -> do
a <- unliftIO u $ inner p
let drain src = unliftIO u (runConduit (src .| CL.sinkNull))
((), ()) <- drain (getStdout p) `concurrently`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/conduit-extra-1.3.3/conduit-extra.cabal new/conduit-extra-1.3.4/conduit-extra.cabal
--- old/conduit-extra-1.3.3/conduit-extra.cabal 2019-06-19 07:58:11.000000000 +0200
+++ new/conduit-extra-1.3.4/conduit-extra.cabal 2019-07-03 07:29:20.000000000 +0200
@@ -1,5 +1,5 @@
Name: conduit-extra
-Version: 1.3.3
+Version: 1.3.4
Synopsis: Batteries included conduit: adapters for common libraries.
Description:
The conduit package itself maintains relative small dependencies. The purpose of this package is to collect commonly used utility functions wrapping other library dependencies, without depending on heavier-weight dependencies. The basic idea is that this package should only depend on haskell-platform packages and conduit.
@@ -56,7 +56,7 @@
, stm
, streaming-commons >= 0.1.16
, unliftio-core
- , typed-process >= 0.2
+ , typed-process >= 0.2.6
ghc-options: -Wall
1
0