Hello community,

here is the log from the commit of package pointful for openSUSE:Factory 
checked in at 2017-04-13 10:44:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pointful (Old)
 and      /work/SRC/openSUSE:Factory/.pointful.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pointful"

Thu Apr 13 10:44:48 2017 rev:7 rq:461708 version:1.0.9

Changes:
--------
--- /work/SRC/openSUSE:Factory/pointful/pointful.changes        2016-10-22 
13:22:04.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.pointful.new/pointful.changes   2017-04-13 
10:44:49.807463296 +0200
@@ -1,0 +2,5 @@
+Sun Feb 12 14:16:38 UTC 2017 - psim...@suse.com
+
+- Update to version 1.0.9 revision 1 with cabal2obs.
+
+-------------------------------------------------------------------

Old:
----
  pointful-1.0.8.tar.gz

New:
----
  pointful-1.0.9.tar.gz

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

Other differences:
------------------
++++++ pointful.spec ++++++
--- /var/tmp/diff_new_pack.YzU1SS/_old  2017-04-13 10:44:50.383381852 +0200
+++ /var/tmp/diff_new_pack.YzU1SS/_new  2017-04-13 10:44:50.383381852 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package pointful
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 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 pointful
 Name:           %{pkg_name}
-Version:        1.0.8
+Version:        1.0.9
 Release:        0
 Summary:        Pointful refactoring tool
 License:        BSD-3-Clause
@@ -26,9 +26,10 @@
 Url:            https://hackage.haskell.org/package/%{name}
 Source0:        
https://hackage.haskell.org/package/%{name}-%{version}/%{name}-%{version}.tar.gz
 Source1:        
https://hackage.haskell.org/package/%{name}-%{version}/revision/1.cabal#/%{name}.cabal
+BuildRequires:  chrpath
 BuildRequires:  ghc-Cabal-devel
 BuildRequires:  ghc-containers-devel
-BuildRequires:  ghc-haskell-src-exts-devel
+BuildRequires:  ghc-haskell-src-exts-simple-devel
 BuildRequires:  ghc-mtl-devel
 BuildRequires:  ghc-rpm-macros
 BuildRequires:  ghc-syb-devel
@@ -65,6 +66,7 @@
 
 %install
 %ghc_lib_install
+%ghc_fix_rpath %{pkg_name}-%{version}
 
 %post -n ghc-%{name}-devel
 %ghc_pkg_recache

++++++ pointful-1.0.8.tar.gz -> pointful-1.0.9.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pointful-1.0.8/Lambdabot/Parser.hs 
new/pointful-1.0.9/Lambdabot/Parser.hs
--- old/pointful-1.0.8/Lambdabot/Parser.hs      2016-05-25 18:23:20.000000000 
+0200
+++ new/pointful-1.0.9/Lambdabot/Parser.hs      2016-08-06 21:11:49.000000000 
+0200
@@ -8,7 +8,7 @@
     ) where
 
 import Data.Generics
-import Language.Haskell.Exts
+import Language.Haskell.Exts.Simple
 
 -- |Parse a string as an 'Exp' or a 'Decl', apply the given generic 
transformation to it,
 -- and re-render it back to text.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pointful-1.0.8/Lambdabot/Pointful.hs 
new/pointful-1.0.9/Lambdabot/Pointful.hs
--- old/pointful-1.0.8/Lambdabot/Pointful.hs    2016-05-25 18:23:20.000000000 
+0200
+++ new/pointful-1.0.9/Lambdabot/Pointful.hs    2016-08-06 21:11:49.000000000 
+0200
@@ -1,4 +1,5 @@
 {-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE ViewPatterns #-}
 -- Undo pointfree transformations. Plugin code derived from Pl.hs.
 module Lambdabot.Pointful (pointful) where
@@ -13,21 +14,18 @@
 import qualified Data.Map as M
 import Data.List
 import Data.Maybe
-import Language.Haskell.Exts as Hs
+import Language.Haskell.Exts.Simple as Hs
 
 ---- Utilities ----
 
-unkLoc :: SrcLoc
-unkLoc = SrcLoc "<new>" 1 1
-
 stabilize :: Eq a => (a -> a) -> a -> a
 stabilize f x = let x' = f x in if x' == x then x else stabilize f x'
 
 -- varsBoundHere returns variables bound by top patterns or binders
 varsBoundHere :: Data d => d -> S.Set Name
 varsBoundHere (cast -> Just (PVar name)) = S.singleton name
-varsBoundHere (cast -> Just (Match _ name _ _ _ _)) = S.singleton name
-varsBoundHere (cast -> Just (PatBind _ pat _ _)) = varsBoundHere pat
+varsBoundHere (cast -> Just (Match name _ _ _)) = S.singleton name
+varsBoundHere (cast -> Just (PatBind pat _ _)) = varsBoundHere pat
 varsBoundHere (cast -> Just (_ :: Exp)) = S.empty
 varsBoundHere d = S.unions (gmapQ varsBoundHere d)
 
@@ -40,15 +38,15 @@
     go :: forall d. Data d => d -> Reader (S.Set Name) a
     go (cast -> Just (Var (UnQual name))) =
         asks (var name)
-    go (cast -> Just (Lambda _ ps exp)) =
+    go (cast -> Just (Lambda ps exp)) =
         bind [varsBoundHere ps] $ go exp
     go (cast -> Just (Let bs exp)) =
         bind [varsBoundHere bs] $ collect [go bs, go exp]
-    go (cast -> Just (Alt _ pat exp bs)) =
+    go (cast -> Just (Alt pat exp bs)) =
         bind [varsBoundHere pat, varsBoundHere bs] $ collect [go exp, go bs]
-    go (cast -> Just (PatBind _ pat exp bs)) =
+    go (cast -> Just (PatBind pat exp bs)) =
         bind [varsBoundHere pat, varsBoundHere bs] $ collect [go exp, go bs]
-    go (cast -> Just (Match _ _ ps _ exp bs)) =
+    go (cast -> Just (Match _ ps exp bs)) =
         bind [varsBoundHere ps, varsBoundHere bs] $ collect [go exp, go bs]
     go d = collect (gmapQ go d)
 
@@ -76,28 +74,28 @@
 
     exp e@(Var (UnQual name)) =
         fromMaybe e (M.lookup name subst)
-    exp (Lambda sloc ps exp) =
+    exp (Lambda ps exp) =
         let (subst', bv', ps') = renameBinds subst bv ps
-        in  Lambda sloc ps' (substAvoiding subst' bv' exp)
+        in  Lambda ps' (substAvoiding subst' bv' exp)
     exp (Let bs exp) =
         let (subst', bv', bs') = renameBinds subst bv bs
         in  Let (substAvoiding subst' bv' bs') (substAvoiding subst' bv' exp)
     exp d = base d
 
-    alt (Alt sloc pat exp bs) =
+    alt (Alt pat exp bs) =
         let (subst1, bv1, pat') = renameBinds subst bv pat
             (subst', bv', bs') = renameBinds subst1 bv1 bs
-        in  Alt sloc pat' (substAvoiding subst' bv' exp) (substAvoiding subst' 
bv' bs')
+        in  Alt pat' (substAvoiding subst' bv' exp) (substAvoiding subst' bv' 
bs')
 
-    decl (PatBind sloc pat exp bs) =
+    decl (PatBind pat exp bs) =
         let (subst', bv', bs') = renameBinds subst bv bs in
-        PatBind sloc pat (substAvoiding subst' bv' exp) (substAvoiding subst' 
bv' bs')
+        PatBind pat (substAvoiding subst' bv' exp) (substAvoiding subst' bv' 
bs')
     decl d = base d
 
-    match (Match sloc name ps typ exp bs) =
+    match (Match name ps exp bs) =
         let (subst1, bv1, ps') = renameBinds subst bv ps
             (subst', bv', bs') = renameBinds subst1 bv1 bs
-        in  Match sloc name ps' typ (substAvoiding subst' bv' exp) 
(substAvoiding subst' bv' bs')
+        in  Match name ps' (substAvoiding subst' bv' exp) (substAvoiding 
subst' bv' bs')
 
 -- rename local binders (but not the nested expressions)
 renameBinds :: Data d => M.Map Name Exp -> S.Set Name -> d -> (M.Map Name Exp, 
S.Set Name, d)
@@ -111,13 +109,13 @@
     pat (PVar name) = PVar `fmap` rename name
     pat d = base d
 
-    match (Match sloc name ps typ exp bs) = do
+    match (Match name ps exp bs) = do
         name' <- rename name
-        return $ Match sloc name' ps typ exp bs
+        return $ Match name' ps exp bs
 
-    decl (PatBind sloc pat exp bs) = do
+    decl (PatBind pat exp bs) = do
         pat' <- go pat
-        return $ PatBind sloc pat' exp bs
+        return $ PatBind pat' exp bs
     decl d = base d
 
     exp (e :: Exp) = return e
@@ -151,15 +149,15 @@
 
 -- move lambda patterns into LHS
 optimizeD :: Decl -> Decl
-optimizeD (PatBind locat (PVar fname) (UnGuardedRhs (Lambda _ pats rhs)) 
Nothing) =
+optimizeD (PatBind (PVar fname) (UnGuardedRhs (Lambda pats rhs)) Nothing) =
     let (subst, bv, pats') = renameBinds M.empty (S.singleton fname) pats
         rhs' = substAvoiding subst bv rhs
-    in  FunBind [Match locat fname pats' Nothing (UnGuardedRhs rhs') Nothing]
+    in  FunBind [Match fname pats' (UnGuardedRhs rhs') Nothing]
 ---- combine function binding and lambda
-optimizeD (FunBind [Match locat fname pats1 Nothing (UnGuardedRhs (Lambda _ 
pats2 rhs)) Nothing]) =
+optimizeD (FunBind [Match fname pats1 (UnGuardedRhs (Lambda pats2 rhs)) 
Nothing]) =
     let (subst, bv, pats2') = renameBinds M.empty (varsBoundHere pats1) pats2
         rhs' = substAvoiding subst bv rhs
-    in  FunBind [Match locat fname (pats1 ++ pats2') Nothing (UnGuardedRhs 
rhs') Nothing]
+    in  FunBind [Match fname (pats1 ++ pats2') (UnGuardedRhs rhs') Nothing]
 optimizeD x = x
 
 -- remove parens
@@ -169,23 +167,23 @@
 
 optimizeE :: Exp -> Exp
 -- apply ((\x z -> ...x...) y) yielding (\z -> ...y...) if there is only one x 
or y is simple
-optimizeE (App (Lambda locat (PVar ident : pats) body) arg) | single || simple 
arg =
+optimizeE (App (Lambda (PVar ident : pats) body) arg) | single || simple arg =
      let (subst, bv, pats') = renameBinds (M.singleton ident arg) (freeVars 
arg) pats
-     in  Paren (Lambda locat pats' (substAvoiding subst bv body))
+     in  Paren (Lambda pats' (substAvoiding subst bv body))
   where
     single = countOcc ident body <= 1
     simple e = case e of Var _ -> True; Lit _ -> True; Paren e' -> simple e'; 
_ -> False
 -- apply ((\_ z -> ...) y) yielding (\z -> ...)
-optimizeE (App (Lambda locat (PWildCard : pats) body) _) =
-    Paren (Lambda locat pats body)
+optimizeE (App (Lambda (PWildCard : pats) body) _) =
+    Paren (Lambda pats body)
 -- remove 0-arg lambdas resulting from application rules
-optimizeE (Lambda _ [] b) =
+optimizeE (Lambda [] b) =
     b
 -- replace (\x -> \y -> z) with (\x y -> z)
-optimizeE (Lambda locat p1 (Lambda _ p2 body)) =
+optimizeE (Lambda p1 (Lambda p2 body)) =
     let (subst, bv, p2') = renameBinds M.empty (varsBoundHere p1) p2
         body' = substAvoiding subst bv body
-    in  Lambda locat (p1 ++ p2') body'
+    in  Lambda (p1 ++ p2') body'
 -- remove double parens
 optimizeE (Paren (Paren x)) =
     Paren x
@@ -193,15 +191,15 @@
 optimizeE (App (Paren (x@Lambda{})) y) =
     App x y
 -- remove lambda body parens
-optimizeE (Lambda l p (Paren x)) =
-    Lambda l p x
+optimizeE (Lambda p (Paren x)) =
+    Lambda p x
 -- remove var, lit parens
 optimizeE (Paren x@(Var _)) =
     x
 optimizeE (Paren x@(Lit _)) =
     x
 -- remove infix+lambda parens
-optimizeE (InfixApp a o (Paren l@(Lambda _ _ _))) =
+optimizeE (InfixApp a o (Paren l@(Lambda _ _))) =
     InfixApp a o l
 -- remove infix+app aprens
 optimizeE (InfixApp (Paren a@App{}) o l) =
@@ -215,8 +213,8 @@
 optimizeE (App (App (Var name'@(UnQual (Symbol _))) l) r) =
     (InfixApp l (QVarOp name') r)
 -- eta reduce
-optimizeE (Lambda l ps@(_:_) (App e (Var (UnQual v))))
-    | free && last ps == PVar v = Lambda l (init ps) e
+optimizeE (Lambda ps@(_:_) (App e (Var (UnQual v))))
+    | free && last ps == PVar v = Lambda (init ps) e
   where free = countOcc v e == 0
 -- fail
 optimizeE x = x
@@ -230,10 +228,10 @@
 -- eliminate sections
 uncomb' (RightSection op' arg) =
     let a = freshNameAvoiding (Ident "a") (freeVars arg)
-    in  (Paren (Lambda unkLoc [PVar a] (InfixApp (Var (UnQual a)) op' arg)))
+    in  (Paren (Lambda [PVar a] (InfixApp (Var (UnQual a)) op' arg)))
 uncomb' (LeftSection arg op') =
     let a = freshNameAvoiding (Ident "a") (freeVars arg)
-    in  (Paren (Lambda unkLoc [PVar a] (InfixApp arg op' (Var (UnQual a)))))
+    in  (Paren (Lambda [PVar a] (InfixApp arg op' (Var (UnQual a)))))
 -- infix to prefix for canonicality
 uncomb' (InfixApp lf (QVarOp name') rf) =
     (Paren (App (App (Var name') (Paren lf)) (Paren rf)))
@@ -245,13 +243,13 @@
 uncomb' (App (Var (UnQual (Symbol ">>="))) (Paren lam@Lambda{})) =
    let a = freshNameAvoiding (Ident "a") (freeVars lam)
        b = freshNameAvoiding (Ident "b") (freeVars lam)
-   in  (Paren (Lambda unkLoc [PVar a, PVar b]
+   in  (Paren (Lambda [PVar a, PVar b]
            (App (App (Var (UnQual a)) (Paren (App lam (Var (UnQual b))))) (Var 
(UnQual b)))))
 -- rewrite: ((>>=) e1) (\x y -> e2)
 -- to:      (\a -> (\x y -> e2) (e1 a) a)
-uncomb' (App (App (Var (UnQual (Symbol ">>="))) e1) (Paren lam@(Lambda _ 
(_:_:_) _))) =
+uncomb' (App (App (Var (UnQual (Symbol ">>="))) e1) (Paren lam@(Lambda (_:_:_) 
_))) =
     let a = freshNameAvoiding (Ident "a") (freeVars [e1,lam])
-    in  (Paren (Lambda unkLoc [PVar a]
+    in  (Paren (Lambda [PVar a]
             (App (App lam (App e1 (Var (UnQual a)))) (Var (UnQual a)))))
 
 -- fail
@@ -261,9 +259,9 @@
 combinators :: M.Map Name Exp
 combinators = M.fromList $ map declToTuple defs
   where defs = case parseModule combinatorModule of
-          ParseOk (Hs.Module _ _ _ _ _ _ d) -> d
+          ParseOk (Hs.Module _ _ _ d) -> d
           f@(ParseFailed _ _) -> error ("Combinator loading: " ++ show f)
-        declToTuple (PatBind _ (PVar fname) (UnGuardedRhs body) Nothing)
+        declToTuple (PatBind (PVar fname) (UnGuardedRhs body) Nothing)
           = (fname, Paren body)
         declToTuple _ = error "Pointful Plugin error: can't convert 
declaration to tuple"
 
@@ -303,3 +301,17 @@
 
 pointful :: String -> String
 pointful = withParsed (stabilize (optimize . uncomb) . stabilize 
(unfoldCombinators . uncomb))
+
+-- TODO: merge this into a proper test suite once one exists
+-- test s = case parseModule s of
+--   f@(ParseFailed _ _) -> fail (show f)
+--   ParseOk (Hs.Module _ _ _ _ _ _ defs) ->
+--     flip mapM_ defs $ \def -> do
+--       putStrLn . prettyPrintInLine  $ def
+--       putStrLn . prettyPrintInLine  . uncomb $ def
+--       putStrLn . prettyPrintInLine  . optimize . uncomb $ def
+--       putStrLn . prettyPrintInLine  . stabilize (optimize . uncomb) $ def
+--       putStrLn ""
+--
+-- main = test "f = tail . head; g = head . tail; h = tail + tail; three = g . 
h . i; dontSub = (\\x -> x + x) 1; ofHead f = f . head; fm = flip mapM_ xs (\\x 
-> g x); po = (+1); op = (1+); g = (. f); stabilize = fix (ap . flip (ap . 
(flip =<< (if' .) . (==))) =<<)"
+--
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pointful-1.0.8/Pointful.hs 
new/pointful-1.0.9/Pointful.hs
--- old/pointful-1.0.8/Pointful.hs      2016-05-25 18:23:20.000000000 +0200
+++ new/pointful-1.0.9/Pointful.hs      1970-01-01 01:00:00.000000000 +0100
@@ -1,17 +0,0 @@
-module Main
-    where
-
-import Data.List (intersperse)
-import System.Environment (getArgs)
-
-import Lambdabot.Pointful (pointful)
-
-printUsage :: IO ()
-printUsage = putStrLn "Usage: pointful QUERY"
-
-main :: IO ()
-main = do query <- getArgs
-          if null query
-             then printUsage
-             else let query' = concat $ intersperse " " query
-                  in putStrLn $ pointful query'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pointful-1.0.8/main/Pointful.hs 
new/pointful-1.0.9/main/Pointful.hs
--- old/pointful-1.0.8/main/Pointful.hs 1970-01-01 01:00:00.000000000 +0100
+++ new/pointful-1.0.9/main/Pointful.hs 2016-08-06 21:11:49.000000000 +0200
@@ -0,0 +1,17 @@
+module Main
+    where
+
+import Data.List (intersperse)
+import System.Environment (getArgs)
+
+import Lambdabot.Pointful (pointful)
+
+printUsage :: IO ()
+printUsage = putStrLn "Usage: pointful QUERY"
+
+main :: IO ()
+main = do query <- getArgs
+          if null query
+             then printUsage
+             else let query' = concat $ intersperse " " query
+                  in putStrLn $ pointful query'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pointful-1.0.8/pointful.cabal 
new/pointful-1.0.9/pointful.cabal
--- old/pointful-1.0.8/pointful.cabal   2016-05-25 18:23:20.000000000 +0200
+++ new/pointful-1.0.9/pointful.cabal   2016-08-06 21:11:49.000000000 +0200
@@ -1,5 +1,5 @@
 name:                pointful
-version:             1.0.8
+version:             1.0.9
 
 synopsis:            Pointful refactoring tool
 
@@ -13,24 +13,20 @@
 maintainer:          Mikhail Glushenkov <mikhail.glushen...@gmail.com>
 homepage:            http://github.com/23Skidoo/pointful
 build-type:          Simple
-extra-source-files:  Lambdabot/*.hs
-cabal-version:       >= 1.6
+cabal-version:       >= 1.8
 
 Library
     exposed-modules:     Lambdabot.Pointful
     other-modules:       Lambdabot.Parser
     build-depends:       base >= 4.4 && < 5,
                          containers >= 0.4,
-                         haskell-src-exts >= 1.17.0,
+                         haskell-src-exts-simple >= 1.18.0 && < 1.19,
                          mtl >= 2,
                          syb >= 0.3,
                          transformers >= 0.2
 
 Executable               pointful
+    hs-source-dirs:      main
     main-is:             Pointful.hs
     build-depends:       base >= 4.4 && < 5,
-                         containers >= 0.4,
-                         haskell-src-exts >= 1.17.0,
-                         mtl >= 2,
-                         syb >= 0.3,
-                         transformers >= 0.2
+                         pointful == 1.0.9

++++++ pointful.cabal ++++++
--- /var/tmp/diff_new_pack.YzU1SS/_old  2017-04-13 10:44:50.471369409 +0200
+++ /var/tmp/diff_new_pack.YzU1SS/_new  2017-04-13 10:44:50.471369409 +0200
@@ -1,5 +1,5 @@
 name:                pointful
-version:             1.0.8
+version:             1.0.9
 x-revision: 1
 
 synopsis:            Pointful refactoring tool
@@ -14,24 +14,20 @@
 maintainer:          Mikhail Glushenkov <mikhail.glushen...@gmail.com>
 homepage:            http://github.com/23Skidoo/pointful
 build-type:          Simple
-extra-source-files:  Lambdabot/*.hs
-cabal-version:       >= 1.6
+cabal-version:       >= 1.8
 
 Library
     exposed-modules:     Lambdabot.Pointful
     other-modules:       Lambdabot.Parser
     build-depends:       base >= 4.4 && < 5,
                          containers >= 0.4,
-                         haskell-src-exts >= 1.17.0,
+                         haskell-src-exts-simple >= 1.18.0 && < 1.20,
                          mtl >= 2,
                          syb >= 0.3,
                          transformers >= 0.2
 
 Executable               pointful
+    hs-source-dirs:      main
     main-is:             Pointful.hs
     build-depends:       base >= 4.4 && < 5,
-                         containers >= 0.4,
-                         haskell-src-exts >= 1.17.0 && < 1.18,
-                         mtl >= 2,
-                         syb >= 0.3,
-                         transformers >= 0.2
+                         pointful


Reply via email to