Hello community,

here is the log from the commit of package ghc-microlens-mtl for 
openSUSE:Factory checked in at 2016-11-10 13:25:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-microlens-mtl (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-microlens-mtl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-microlens-mtl"

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-microlens-mtl/ghc-microlens-mtl.changes      
2016-11-02 12:36:29.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-microlens-mtl.new/ghc-microlens-mtl.changes 
2016-11-10 13:25:14.000000000 +0100
@@ -1,0 +2,5 @@
+Wed Aug 17 18:27:19 UTC 2016 - [email protected]
+
+- Update to version 0.1.10.0 revision 0 with cabal2obs.
+
+-------------------------------------------------------------------

Old:
----
  microlens-mtl-0.1.9.0.tar.gz

New:
----
  microlens-mtl-0.1.10.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-microlens-mtl.spec ++++++
--- /var/tmp/diff_new_pack.WfBi4E/_old  2016-11-10 13:25:16.000000000 +0100
+++ /var/tmp/diff_new_pack.WfBi4E/_new  2016-11-10 13:25:16.000000000 +0100
@@ -18,11 +18,11 @@
 
 %global pkg_name microlens-mtl
 Name:           ghc-%{pkg_name}
-Version:        0.1.9.0
+Version:        0.1.10.0
 Release:        0
 Summary:        Microlens support for Reader/Writer/State from mtl
 License:        BSD-3-Clause
-Group:          System/Libraries
+Group:          Development/Languages/Other
 Url:            https://hackage.haskell.org/package/%{pkg_name}
 Source0:        
https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
 BuildRequires:  ghc-Cabal-devel
@@ -55,15 +55,12 @@
 %prep
 %setup -q -n %{pkg_name}-%{version}
 
-
 %build
 %ghc_lib_build
 
-
 %install
 %ghc_lib_install
 
-
 %post devel
 %ghc_pkg_recache
 

++++++ microlens-mtl-0.1.9.0.tar.gz -> microlens-mtl-0.1.10.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/microlens-mtl-0.1.9.0/CHANGELOG.md 
new/microlens-mtl-0.1.10.0/CHANGELOG.md
--- old/microlens-mtl-0.1.9.0/CHANGELOG.md      2016-07-14 12:02:37.000000000 
+0200
+++ new/microlens-mtl-0.1.10.0/CHANGELOG.md     2016-08-03 11:20:21.000000000 
+0200
@@ -1,3 +1,7 @@
+# 0.1.10.0
+
+* Added `<?=` and `<.=`.
+
 # 0.1.9.0
 
 * Added `?=` and `<~`.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/microlens-mtl-0.1.9.0/microlens-mtl.cabal 
new/microlens-mtl-0.1.10.0/microlens-mtl.cabal
--- old/microlens-mtl-0.1.9.0/microlens-mtl.cabal       2016-07-14 
12:02:37.000000000 +0200
+++ new/microlens-mtl-0.1.10.0/microlens-mtl.cabal      2016-08-03 
11:20:21.000000000 +0200
@@ -1,5 +1,5 @@
 name:                microlens-mtl
-version:             0.1.9.0
+version:             0.1.10.0
 synopsis:            microlens support for Reader/Writer/State from mtl
 description:
   This package contains functions (like 'view' or '+=') which work on 
'MonadReader', 'MonadWriter', and 'MonadState' from the mtl package.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/microlens-mtl-0.1.9.0/src/Lens/Micro/Mtl.hs 
new/microlens-mtl-0.1.10.0/src/Lens/Micro/Mtl.hs
--- old/microlens-mtl-0.1.9.0/src/Lens/Micro/Mtl.hs     2016-07-14 
12:02:37.000000000 +0200
+++ new/microlens-mtl-0.1.10.0/src/Lens/Micro/Mtl.hs    2016-08-03 
11:20:21.000000000 +0200
@@ -34,8 +34,8 @@
   (+=), (-=), (*=), (//=),
 
   -- * Setting with passthrough
-  (<%=), (<<%=),
-  (<<.=),
+  (<%=), (<.=), (<?=),
+  (<<%=), (<<.=),
 
   -- * Zooming
   zoom,
@@ -120,7 +120,7 @@
 
 
 infix  4 .=, %=, ?=
-infix  4 <<.=, <<%=, <%=
+infix  4 <<.=, <<%=, <%=, <.=, <?=
 infix  4 +=, -=, *=, //=
 infixr 2 <~
 
@@ -266,7 +266,7 @@
 @
 l '<<.=' b = do
   old <- 'use' l
-  l '.=' f
+  l '.=' b
   return old
 @
 -}
@@ -274,6 +274,34 @@
 l <<.= b = l %%= (\a -> (a, b))
 {-# INLINE (<<.=) #-}
 
+{- |
+Set state and return new value.
+
+@
+l '<.=' b = do
+  l '.=' b
+  return b
+@
+-}
+(<.=) :: MonadState s m => LensLike ((,) b) s s a b -> b -> m b
+l <.= b = l <%= const b
+{-# INLINE (<.=) #-}
+
+{- |
+('<?=') is a version of ('<.=') that wraps the value into 'Just' before 
setting.
+
+@
+l '<?=' b = do
+  l '.=' Just b
+  'return' b
+@
+
+It can be useful in combination with 'at'.
+-}
+(<?=) :: MonadState s m => LensLike ((,) b) s s a (Maybe b) -> b -> m b
+l <?= b = l %%= const (b, Just b)
+{-# INLINE (<?=) #-}
+
 (%%=) :: MonadState s m => LensLike ((,) r) s s a b -> (a -> (r, b)) -> m r
 #if MIN_VERSION_mtl(2,1,1)
 l %%= f = State.state (l f)


Reply via email to