packages feed

patch 0.0.8.2 → 0.0.8.3

raw patch · 8 files changed

+127/−100 lines, 8 filesdep ~HUnitdep ~basedep ~base-orphans

Dependency ranges changed: HUnit, base, base-orphans, commutative-semigroups, containers, hedgehog, lens, witherable

Files

ChangeLog.md view
@@ -1,5 +1,12 @@ # Revision history for patch +## 0.0.8.3++* Add support for GHC 9.8 and 9.10++* Replace partial `Map.lookup` with proper custom error for internal error.+  (This would make debugging a bug in the implementation easier.)+ ## 0.0.8.2  * Add support for GHC 9.6
README.md view
@@ -1,6 +1,6 @@ # patch -[![Haskell](https://img.shields.io/badge/language-Haskell-orange.svg)](https://haskell.org) [![Hackage](https://img.shields.io/hackage/v/patch.svg)](https://hackage.haskell.org/package/patch) [![Hackage CI](https://matrix.hackage.haskell.org/api/v2/packages/patch/badge)](https://matrix.hackage.haskell.org/#/package/patch) [![Travis CI](https://api.travis-ci.org/reflex-frp/patch.svg?branch=develop)](https://travis-ci.org/reflex-frp/patch) [![BSD3 License](https://img.shields.io/badge/license-BSD3-blue.svg)](https://github.com/reflex-frp/patch/LICENSE)+[![Haskell](https://img.shields.io/badge/language-Haskell-orange.svg)](https://haskell.org) [![Hackage](https://img.shields.io/hackage/v/patch.svg)](https://hackage.haskell.org/package/patch) [![BSD3 License](https://img.shields.io/badge/license-BSD3-blue.svg)](https://github.com/reflex-frp/patch/LICENSE)  Data structures for describing changes to other data structures. 
patch.cabal view
@@ -1,114 +1,123 @@-Name: patch-Version: 0.0.8.2-Synopsis: Data structures for describing changes to other data structures.-Description:-  Data structures for describing changes to other data structures.-  .-  In this library, a patch is something which can be applied, analogous to a-  function, and which distinguishes returning the argument it was provided from-  returning something else.-License: BSD3-License-file: LICENSE-Author: Ryan Trinkle-Maintainer: maintainer@obsidian.systems-Stability: Experimental-Category: FRP-Build-type: Simple-Cabal-version: >=1.10-homepage: https://obsidian.systems-bug-reports: https://github.com/reflex-frp/patch/issues+cabal-version:      >=1.10+name:               patch+version:            0.0.8.3+license:            BSD3+license-file:       LICENSE+maintainer:         maintainer@obsidian.systems+author:             Ryan Trinkle+stability:          Experimental+tested-with:+    ghc ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.1 || ==9.2.5 || ==9.4.5 || ==9.6.1 || ==9.8.2 || ==9.10.1+    ghcjs ==8.6 || ==8.10++homepage:           https://obsidian.systems+bug-reports:        https://github.com/reflex-frp/patch/issues+synopsis:+    Data structures for describing changes to other data structures.++description:+    Data structures for describing changes to other data structures.+    .+    In this library, a patch is something which can be applied, analogous to a+    function, and which distinguishes returning the argument it was provided from+    returning something else.++category:           FRP+build-type:         Simple extra-source-files:-  README.md-  ChangeLog.md+    README.md+    ChangeLog.md -tested-with:-  GHC ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.1 || ==9.2.5 || ==9.4.5 || ==9.6.1-  GHCJS ==8.6 || ==8.10+source-repository head+    type:     git+    location: https://github.com/reflex-frp/patch  flag split-these-  description: Use split these/semialign packages-  manual:      False-  default:     True+    description: Use split these/semialign packages  flag hlint-  description: Enable hlint test-  default:     True+    description: Enable hlint test  library-  hs-source-dirs: src-  default-language: Haskell2010-  build-depends: base >= 4.9 && < 4.19-               , constraints-extras >= 0.3 && < 0.5-               , commutative-semigroups >= 0.0 && < 0.2-               , containers >= 0.6 && < 0.7-               , dependent-map >= 0.3 && < 0.5-               , dependent-sum >= 0.6 && < 0.8-               , lens >= 4.7 && < 5.3-               , indexed-traversable >= 0.1 && < 0.2-               , semigroupoids >= 4.0 && < 7-               , transformers >= 0.5.6.0 && < 0.7-               , witherable >= 0.3 && < 0.5+    exposed-modules:+        Data.Functor.Misc+        Data.Monoid.DecidablyEmpty+        Data.Patch+        Data.Patch.Class+        Data.Patch.DMap+        Data.Patch.DMapWithMove+        Data.Patch.IntMap+        Data.Patch.Map+        Data.Patch.MapWithMove+        Data.Patch.MapWithPatchingMove+        Data.Patch.PatchOrReplacement+        Data.Semigroup.Additive -  if impl(ghc < 8.6)-    build-depends: base-orphans >= 0.8 && < 0.9+    hs-source-dirs:     src+    default-language:   Haskell2010+    default-extensions: PolyKinds+    ghc-options:        -Wall -fwarn-redundant-constraints -fwarn-tabs+    build-depends:+        base >=4.9 && <=4.21,+        constraints-extras >=0.3 && <0.5,+        commutative-semigroups >=0.0 && <0.3,+        containers >=0.6 && <0.8,+        dependent-map >=0.3 && <0.5,+        dependent-sum >=0.6 && <0.8,+        lens >=4.7 && <5.4,+        indexed-traversable >=0.1 && <0.2,+        semigroupoids >=4.0 && <7,+        transformers >=0.5.6.0 && <0.7,+        witherable >=0.3 && <0.6 -  exposed-modules: Data.Functor.Misc-                 , Data.Monoid.DecidablyEmpty-                 , Data.Patch-                 , Data.Patch.Class-                 , Data.Patch.DMap-                 , Data.Patch.DMapWithMove-                 , Data.Patch.IntMap-                 , Data.Patch.Map-                 , Data.Patch.MapWithMove-                 , Data.Patch.MapWithPatchingMove-                 , Data.Patch.PatchOrReplacement-                 , Data.Semigroup.Additive+    if impl(ghc <8.6)+        build-depends: base-orphans >=0.8 && <0.10 -  ghc-options: -Wall -fwarn-redundant-constraints -fwarn-tabs-  default-extensions: PolyKinds+    if flag(split-these)+        build-depends:+            these >=1 && <1.3,+            semialign >=1 && <1.4,+            monoidal-containers >=0.6 && <0.7 -  if flag(split-these)-    build-depends: these >= 1 && <1.3-                 , semialign >=1 && <1.4-                 , monoidal-containers >= 0.6 && < 0.7-  else-    build-depends: these >= 0.4 && <0.9-                 , monoidal-containers == 0.4.0.0+    else+        build-depends:+            these >=0.4 && <0.9,+            monoidal-containers ==0.4.0.0  test-suite tests-  default-language: Haskell2010-  type: exitcode-stdio-1.0-  main-is: tests.hs-  hs-source-dirs: test-  build-depends: base-               , patch-               , containers-               , hedgehog-               , HUnit-  if impl(ghcjs)-    buildable: False+    type:             exitcode-stdio-1.0+    main-is:          tests.hs+    hs-source-dirs:   test+    default-language: Haskell2010+    build-depends:+        base,+        patch,+        containers,+        hedgehog <1.6,+        HUnit <1.7 +    if (impl(ghcjs >=0) || arch(javascript))+        buildable: False+ test-suite hlint-  -- hlint doesn't support ghc-9.6 yet (as of version 3.5)-  if impl(ghc >= 9.6)-    buildable: False-  default-language: Haskell2010-  type: exitcode-stdio-1.0-  main-is: hlint.hs-  hs-source-dirs: test-  build-depends: base-               , directory-               , filepath-               , filemanip-  if impl(ghc < 9.2)-    build-depends: hlint (< 2.1 || >= 2.2.2) && < 3.5-  else-    build-depends: hlint >= 3.5 && < 3.6+    type:             exitcode-stdio-1.0+    main-is:          hlint.hs+    hs-source-dirs:   test+    default-language: Haskell2010+    build-depends:+        base,+        directory,+        filepath,+        filemanip -  if impl(ghcjs) || !flag(hlint)-    buildable: False+    if impl(ghc >=9.6)+        buildable: False -source-repository head-  type: git-  location: https://github.com/reflex-frp/patch+    if impl(ghc <9.2)+        build-depends: hlint (<2.1 || >=2.2.2) && <3.5++    else+        build-depends: hlint >=3.5 && <3.6++    if ((impl(ghcjs >=0) || arch(javascript)) || !flag(hlint))+        buildable: False
src/Data/Patch.hs view
@@ -14,16 +14,22 @@   ) where  import Data.Semigroup.Commutative-import Control.Applicative (liftA2) import Data.Functor.Const (Const (..)) import Data.Functor.Identity import Data.Map.Monoidal (MonoidalMap) import Data.Proxy+import GHC.Generics++#if !MIN_VERSION_base(4,18,0)+import Control.Applicative (liftA2)+#endif+ #if !MIN_VERSION_base(4,11,0) import Data.Semigroup (Semigroup (..)) #endif-import GHC.Generics +-- N.B. Intentionally reexporting `Additive`, the deprecated alias, as+-- this is a reexport for backwards compatibility. import qualified Data.Semigroup.Additive as X import Data.Patch.Class as X import Data.Patch.DMap as X hiding (getDeletions)
src/Data/Patch/IntMap.hs view
@@ -6,6 +6,7 @@ {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}  {-| Description: Module containing 'PatchIntMap', a 'Patch' for 'IntMap'.
src/Data/Patch/Map.hs view
@@ -7,6 +7,7 @@ {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}  {-| Description: A basic 'Patch' on 'Map'
src/Data/Patch/MapWithMove.hs view
@@ -12,6 +12,7 @@ {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-} {-# LANGUAGE ViewPatterns #-}  {-|
src/Data/Patch/MapWithPatchingMove.hs view
@@ -9,6 +9,7 @@ {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-} {-# LANGUAGE UndecidableInstances #-}  {-|@@ -230,8 +231,9 @@           Just (from, to)         reverseMapping = Map.fromList $ catMaybes $ zipWith f unsorted sorted         g (to, _) (from, _) = if to == from then Nothing else-          let Just movingTo = Map.lookup from reverseMapping+          let movingTo = fromMaybe err $ Map.lookup from reverseMapping           in Just (to, NodeInfo (From_Move from mempty) $ Just movingTo)+        err = error "IMPOSSIBLE happens in patchThatSortsMapWith"  -- | Create a 'PatchMapWithPatchingMove' that, if applied to the first 'Map' provided, -- will produce a 'Map' with the same values as the second 'Map' but with the