EdisonCore 1.3.3.1 → 1.3.3.2
raw patch · 29 files changed
+151/−147 lines, 29 filesdep ~arraydep ~basedep ~containersPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: array, base, containers, fail
API changes (from Hackage documentation)
Files
- CHANGES +0/−114
- CHANGES.md +118/−0
- EdisonCore.cabal +7/−7
- src/Data/Edison/Assoc/AssocList.hs +1/−1
- src/Data/Edison/Assoc/Defaults.hs +1/−1
- src/Data/Edison/Assoc/PatriciaLoMap.hs +1/−1
- src/Data/Edison/Assoc/StandardMap.hs +1/−1
- src/Data/Edison/Assoc/TernaryTrie.hs +1/−1
- src/Data/Edison/Coll/Defaults.hs +1/−1
- src/Data/Edison/Coll/EnumSet.hs +1/−1
- src/Data/Edison/Coll/LazyPairingHeap.hs +1/−1
- src/Data/Edison/Coll/LeftistHeap.hs +1/−1
- src/Data/Edison/Coll/MinHeap.hs +1/−1
- src/Data/Edison/Coll/SkewHeap.hs +1/−1
- src/Data/Edison/Coll/SplayHeap.hs +1/−1
- src/Data/Edison/Coll/StandardSet.hs +1/−1
- src/Data/Edison/Coll/UnbalancedSet.hs +1/−1
- src/Data/Edison/Concrete/FingerTree.hs +1/−1
- src/Data/Edison/Seq/BankersQueue.hs +1/−1
- src/Data/Edison/Seq/BinaryRandList.hs +1/−1
- src/Data/Edison/Seq/BraunSeq.hs +1/−1
- src/Data/Edison/Seq/Defaults.hs +1/−1
- src/Data/Edison/Seq/FingerSeq.hs +1/−1
- src/Data/Edison/Seq/JoinList.hs +1/−1
- src/Data/Edison/Seq/MyersStack.hs +1/−1
- src/Data/Edison/Seq/RandList.hs +1/−1
- src/Data/Edison/Seq/RevSeq.hs +1/−1
- src/Data/Edison/Seq/SimpleQueue.hs +1/−1
- src/Data/Edison/Seq/SizedSeq.hs +1/−1
− CHANGES
@@ -1,114 +0,0 @@-Changes in 1.3.3.1- * Remove mtl dependency (removed unnecessary imports which were incompatible with mtl 2.3)- * Fix implementation of little-endian PatriciaTrees--Changes in 1.3.3- * Updates to handle MonadFail changes in GHC 8.x- * Updates to fix compile issues in GHC 9--Changes in 1.3.2.1- * Fix compile problems on GHC 7.10--Changes in 1.3.2- * Add Semigroup instances for all types that previously- had Monoid instances.- * Remove use of depreciated functions in Data.Edison.Assoc.StandardMap--Changes in 1.3.1- * Remove Arbitrary and Coarbitrary instances for Data.Set- and Data.Map. These are now provided by QuickCheck >= 2.8.2--Changes in 1.3- * Updates to compile with GHC 7.10- - Added Applicative and Alternative instances as required- - Disambiguate the types of some operations- - Resolve namespace clashes- * Added stack.yaml file to build with stack--Changes in 1.2.2- * Update edison-core to use QuickCheck version 2.*- * Likewise update the test suite--Changes in 1.2.1.3- * Minor fix to the StandardMap module to handle the API change- in GHC 6.10--Changes in 1.2.1.2- * Build system changes to remove mostly-superfulous dependency on- haskell98, and to force dependence on the 1.x branch of QuickCheck.--Changes in 1.2.1.1- * Build system changes to make GHC 6.8 and cabal >= 1.2.2 happy--Changes in 1.2.1- * New sequence implementation based on Finger Trees- * Add the 'Measured' class to the Data.Edison.Prelude- * Addition of methods to EnumSet to project to a bit-encoded word and to- create an EnumSet from a bit-encoded word- * Additional minor changes to EnumSet- * Fix a boneheaded mistake I made where I claimed most of Edison was- licensed under BSD3, when it is in fact licensed under the MIT license.- The practical differences are minor, and I hope this will not cause too- many problems.--Changes in 1.2.0.1- * Change use more efficient operations for StandardSet.{filterGT,filterLT}- and StandardMap.{filterLE,filterGE,partitionLE_GT,partitionLT_GE}--Changes in 1.2 final- * Fix documentation for sequences to reflect correct- time complexities--Changes in 1.2rc4- * introduce strict/strictWith operations for all APIs- * add Ord* instances for PatriciaLoMap and TernaryTrie- * add David F. Place's EnumSet implementation- * complete the FiniteMap unit test coverage and fix a bunch- of bugs in finite map implementations- * add 'symmetricDifference' to Collection and- Associated Collection APIs- * add Ord instances for data structures- * add Monoid instances for data structures---Changes in 1.2rc3- * introduce the ambiguous/unambiguous concept and document- all API operations- * factor out methods which "mirror" superclass methods and- make them alises instead- * add lookupAndDelete* methods to associated collections- * change the type of adjustOrDelete* in associated collections- * rename subset/subsetEq to properSubset/subset- * add matching Read and Show instances for all concrete datastructures- * add properSubmap{By} submap{By} and sameMap{By} to the- associated collection API- * add Eq instances for concrete associated collections- * break out the test suite into a separate sub-package---Changes in 1.2rc2- * add strict variants of all folds and reduces- * reverse argument orders to 'rcons' and 'lookup*' in- Sequence- * add symbolic operators for lcons, rcons, append, and lookup- from the Sequence API- * add symbolic operators for subsetEq, difference, intersection- and union from the set API- * rename 'single' to 'singleton' in all APIs- * reaame 'intersect' to 'intersection' in Collection and- Associated Collection APIs- * add 'adjustOrInsert' to the Associated Collection API---Changes in 1.2rc1- * modules re-organized into a hierarchy- * user's guide distributed throughout source code- as Haddock comments- * use cabal for build system- * add Data.Edison module to re-export typeclasses- * reorder 'lookup*' and 'find*' methods for- Collections and Associated Collections- * add 'unsafeMapMonotonic' to main Collection API- * organize QuickCheck properties into a full test suite- * add a 'structuralInvariant' method to all APIs, for- unit testing
+ CHANGES.md view
@@ -0,0 +1,118 @@+# Edison++Changelog of EdisonAPI and EdisonCore.++[Latest CHANGES.md](https://github.com/robdockins/edison/blob/master/CHANGES.md)++## 1.3.3.2+* Compatibility with GHC 9.10 and 9.12++## 1.3.3.1+* Remove mtl dependency (removed unnecessary imports which were incompatible with mtl 2.3)+* Fix implementation of little-endian PatriciaTrees++## 1.3.3+* Updates to handle MonadFail changes in GHC 8.x+* Updates to fix compile issues in GHC 9++## 1.3.2.1+* Fix compile problems on GHC 7.10++## 1.3.2+* Add Semigroup instances for all types that previously had Monoid instances.+* Remove use of depreciated functions in Data.Edison.Assoc.StandardMap++## 1.3.1+* Remove Arbitrary and Coarbitrary instances for Data.Set+ and Data.Map. These are now provided by QuickCheck >= 2.8.2++## 1.3+* Updates to compile with GHC 7.10+ - Added Applicative and Alternative instances as required+ - Disambiguate the types of some operations+ - Resolve namespace clashes+* Added stack.yaml file to build with stack++## 1.2.2+ * Update edison-core to use QuickCheck version 2.*+ * Likewise update the test suite++## 1.2.1.3+* Minor fix to the StandardMap module to handle the API change in GHC 6.10++## 1.2.1.2+* Build system changes to remove mostly-superfulous dependency on+ haskell98, and to force dependence on the 1.x branch of QuickCheck.++## 1.2.1.1+* Build system changes to make GHC 6.8 and cabal >= 1.2.2 happy++## 1.2.1+* New sequence implementation based on Finger Trees+* Add the 'Measured' class to the Data.Edison.Prelude+* Addition of methods to EnumSet to project to a bit-encoded word and to+ create an EnumSet from a bit-encoded word+* Additional minor changes to EnumSet+* Fix a boneheaded mistake I made where I claimed most of Edison was+ licensed under BSD3, when it is in fact licensed under the MIT license.+ The practical differences are minor, and I hope this will not cause too+ many problems.++## 1.2.0.1+* Change use more efficient operations for StandardSet.{filterGT,filterLT}+ and StandardMap.{filterLE,filterGE,partitionLE_GT,partitionLT_GE}++## 1.2 final+* Fix documentation for sequences to reflect correct+ time complexities++## 1.2rc4+* introduce strict/strictWith operations for all APIs+* add Ord* instances for PatriciaLoMap and TernaryTrie+* add David F. Place's EnumSet implementation+* complete the FiniteMap unit test coverage and fix a bunch+ of bugs in finite map implementations+* add 'symmetricDifference' to Collection and+ Associated Collection APIs+* add Ord instances for data structures+* add Monoid instances for data structures+++## 1.2rc3+* introduce the ambiguous/unambiguous concept and document+ all API operations+* factor out methods which "mirror" superclass methods and+ make them alises instead+* add lookupAndDelete* methods to associated collections+* change the type of adjustOrDelete* in associated collections+* rename subset/subsetEq to properSubset/subset+* add matching Read and Show instances for all concrete datastructures+* add properSubmap{By} submap{By} and sameMap{By} to the+ associated collection API+* add Eq instances for concrete associated collections+* break out the test suite into a separate sub-package+++## 1.2rc2+* add strict variants of all folds and reduces+* reverse argument orders to 'rcons' and 'lookup*' in Sequence+* add symbolic operators for lcons, rcons, append, and lookup+ from the Sequence API+* add symbolic operators for subsetEq, difference, intersection+ and union from the set API+* rename 'single' to 'singleton' in all APIs+* reaame 'intersect' to 'intersection' in Collection and+ Associated Collection APIs+* add 'adjustOrInsert' to the Associated Collection API+++## 1.2rc1+* modules re-organized into a hierarchy+* user's guide distributed throughout source code as Haddock comments+* use cabal for build system+* add Data.Edison module to re-export typeclasses+* reorder 'lookup*' and 'find*' methods for+ Collections and Associated Collections+* add 'unsafeMapMonotonic' to main Collection API+* organize QuickCheck properties into a full test suite+* add a 'structuralInvariant' method to all APIs, for unit testing
EdisonCore.cabal view
@@ -1,14 +1,14 @@ Name: EdisonCore Cabal-Version: >= 1.10 Build-Type: Simple-Version: 1.3.3.1+Version: 1.3.3.2 License: MIT License-File: COPYRIGHT Author: Chris Okasaki Maintainer: robdockins AT fastmail DOT fm Synopsis: A library of efficient, purely-functional data structures (Core Implementations) Category: Data Structures-Homepage: http://rwd.rdockins.name/edison/home/+Homepage: https://github.com/robdockins/edison Stability: Stable Description: This package provides the core Edison data structure implementations,@@ -16,7 +16,7 @@ implementations with various performance characteristics. The implementations in this package have no dependencies other than those commonly bundled with Haskell compilers.-Extra-Source-Files: CHANGES+Extra-Source-Files: CHANGES.md Source-Repository head@@ -54,15 +54,15 @@ Data.Edison.Seq.SimpleQueue Data.Edison.Seq.SizedSeq Build-Depends:- base == 4.*,+ base >= 4.12 && < 4.22, QuickCheck >= 2.8.2 && < 3, EdisonAPI >= 1.3.3 && < 1.4,- containers,- array+ containers < 0.8,+ array < 0.6 if impl(ghc < 8.0) Build-Depends:- fail,+ fail < 5, -- Provide/emulate Data.Semigroups` API for pre-GHC-8 semigroups == 0.18.*
src/Data/Edison/Assoc/AssocList.hs view
@@ -54,7 +54,7 @@ moduleName ) where -import Prelude hiding (null,map,lookup,foldr,foldl,foldr1,foldl1,filter)+import Prelude hiding (null,map,lookup,foldr,foldl,foldr1,foldl1,foldl',filter) import qualified Prelude import Data.Monoid import Data.Semigroup as SG
src/Data/Edison/Assoc/Defaults.hs view
@@ -13,7 +13,7 @@ module Data.Edison.Assoc.Defaults where -import Prelude hiding (null,map,lookup,foldr,foldl,foldr1,foldl1,filter)+import Prelude hiding (null,map,lookup,foldr,foldl,foldr1,foldl1,foldl',filter) import qualified Control.Monad.Fail as Fail
src/Data/Edison/Assoc/PatriciaLoMap.hs view
@@ -53,7 +53,7 @@ moduleName ) where -import Prelude hiding (null,map,lookup,foldr,foldl,foldr1,foldl1,filter)+import Prelude hiding (null,map,lookup,foldr,foldl,foldr1,foldl1,foldl',filter) import qualified Prelude import qualified Control.Monad.Fail as Fail import Data.Monoid
src/Data/Edison/Assoc/StandardMap.hs view
@@ -49,7 +49,7 @@ moduleName ) where -import Prelude hiding (null,map,lookup,foldr,foldl,foldr1,foldl1,filter)+import Prelude hiding (null,map,lookup,foldr,foldl,foldr1,foldl1,foldl',filter) import qualified Prelude import qualified Control.Monad.Fail as Fail import qualified Data.Edison.Assoc as A
src/Data/Edison/Assoc/TernaryTrie.hs view
@@ -52,7 +52,7 @@ moduleName ) where -import Prelude hiding (null,map,lookup,foldr,foldl,foldr1,foldl1,filter)+import Prelude hiding (null,map,lookup,foldr,foldl,foldr1,foldl1,foldl',filter) import qualified Prelude import qualified Data.Edison.Assoc as A import Data.Edison.Prelude ( runFail_ )
src/Data/Edison/Coll/Defaults.hs view
@@ -13,7 +13,7 @@ module Data.Edison.Coll.Defaults where -import Prelude hiding (null,foldr,foldl,foldr1,foldl1,lookup,filter)+import Prelude hiding (null,foldr,foldl,foldr1,foldl1,foldl',lookup,filter) import qualified Control.Monad.Fail as Fail import Data.Edison.Prelude ( runFail_ )
src/Data/Edison/Coll/EnumSet.hs view
@@ -156,7 +156,7 @@ ) where import qualified Prelude-import Prelude hiding (filter,foldl,foldr,null,map,lookup,foldl1,foldr1)+import Prelude hiding (filter,foldl,foldr,null,map,lookup,foldl1,foldr1,foldl') import qualified Control.Monad.Fail as Fail import qualified Data.Bits as Bits import Data.Bits hiding (complement)
src/Data/Edison/Coll/LazyPairingHeap.hs view
@@ -40,7 +40,7 @@ moduleName ) where -import Prelude hiding (null,foldr,foldl,foldr1,foldl1,lookup,filter)+import Prelude hiding (null,foldr,foldl,foldr1,foldl1,foldl',lookup,filter) import qualified Data.Edison.Coll as C ( CollX(..), OrdCollX(..), Coll(..), OrdColl(..), toOrdList ) import qualified Data.Edison.Seq as S
src/Data/Edison/Coll/LeftistHeap.hs view
@@ -39,7 +39,7 @@ moduleName ) where -import Prelude hiding (null,foldr,foldl,foldr1,foldl1,lookup,filter)+import Prelude hiding (null,foldr,foldl,foldr1,foldl1,foldl',lookup,filter) import qualified Data.Edison.Coll as C ( CollX(..), OrdCollX(..), Coll(..), OrdColl(..), unionList, toOrdList ) import qualified Data.Edison.Seq as S
src/Data/Edison/Coll/MinHeap.hs view
@@ -38,7 +38,7 @@ moduleName ) where -import Prelude hiding (null,foldr,foldl,foldr1,foldl1,lookup,filter)+import Prelude hiding (null,foldr,foldl,foldr1,foldl1,foldl',lookup,filter) import qualified Data.Edison.Coll as C import qualified Data.Edison.Seq as S import Data.Edison.Coll.Defaults
src/Data/Edison/Coll/SkewHeap.hs view
@@ -40,7 +40,7 @@ moduleName ) where -import Prelude hiding (null,foldr,foldl,foldr1,foldl1,lookup,filter)+import Prelude hiding (null,foldr,foldl,foldr1,foldl1,foldl',lookup,filter) import qualified Data.Edison.Coll as C import qualified Data.Edison.Seq as S import Data.Edison.Coll.Defaults
src/Data/Edison/Coll/SplayHeap.hs view
@@ -43,7 +43,7 @@ moduleName ) where -import Prelude hiding (null,foldr,foldl,foldr1,foldl1,lookup,filter)+import Prelude hiding (null,foldr,foldl,foldr1,foldl1,foldl',lookup,filter) import qualified Data.Edison.Coll as C import qualified Data.Edison.Seq as S import Data.Edison.Coll.Defaults
src/Data/Edison/Coll/StandardSet.hs view
@@ -41,7 +41,7 @@ moduleName ) where -import Prelude hiding (null,foldr,foldl,foldr1,foldl1,lookup,filter)+import Prelude hiding (null,foldr,foldl,foldr1,foldl1,foldl',lookup,filter) import qualified Prelude import qualified Control.Monad.Fail as Fail import qualified Data.List
src/Data/Edison/Coll/UnbalancedSet.hs view
@@ -41,7 +41,7 @@ moduleName ) where -import Prelude hiding (null,foldr,foldl,foldr1,foldl1,lookup,filter)+import Prelude hiding (null,foldr,foldl,foldr1,foldl1,foldl',lookup,filter) import qualified Prelude import qualified Control.Monad.Fail as Fail import qualified Data.Edison.Coll as C
src/Data/Edison/Concrete/FingerTree.hs view
@@ -15,7 +15,7 @@ -- * Ralf Hinze and Ross Paterson, -- \"Finger trees: a simple general-purpose data structure\", -- /Journal of Functional Programming/ 16:2 (2006) pp 197-217.--- <http://www.soi.city.ac.uk/~ross/papers/FingerTree.html>+-- <https://www.cs.tufts.edu/~nr/cs257/archive/ralf-hinze/finger-trees.pdf> -- -- This data structure forms the basis of the "Data.Edison.Seq.FingerSeq" -- sequence data structure.
src/Data/Edison/Seq/BankersQueue.hs view
@@ -45,7 +45,7 @@ ) where -import Prelude hiding (concat,reverse,map,concatMap,foldr,foldl,foldr1,foldl1,+import Prelude hiding (concat,reverse,map,concatMap,foldr,foldl,foldr1,foldl1,foldl', filter,takeWhile,dropWhile,lookup,take,drop,splitAt, zip,zip3,zipWith,zipWith3,unzip,unzip3,null)
src/Data/Edison/Seq/BinaryRandList.hs view
@@ -50,7 +50,7 @@ moduleName ) where -import Prelude hiding (concat,reverse,map,concatMap,foldr,foldl,foldr1,foldl1,+import Prelude hiding (concat,reverse,map,concatMap,foldr,foldl,foldr1,foldl1,foldl', filter,takeWhile,dropWhile,lookup,take,drop,splitAt, zip,zip3,zipWith,zipWith3,unzip,unzip3,null)
src/Data/Edison/Seq/BraunSeq.hs view
@@ -67,7 +67,7 @@ moduleName ) where -import Prelude hiding (concat,reverse,map,concatMap,foldr,foldl,foldr1,foldl1,+import Prelude hiding (concat,reverse,map,concatMap,foldr,foldl,foldr1,foldl1,foldl', filter,takeWhile,dropWhile,lookup,take,drop,splitAt, zip,zip3,zipWith,zipWith3,unzip,unzip3,null)
src/Data/Edison/Seq/Defaults.hs view
@@ -13,7 +13,7 @@ module Data.Edison.Seq.Defaults where -import Prelude hiding (concat,reverse,map,concatMap,foldr,foldl,foldr1,foldl1,+import Prelude hiding (concat,reverse,map,concatMap,foldr,foldl,foldr1,foldl1,foldl', filter,takeWhile,dropWhile,lookup,take,drop,splitAt, zip,zip3,zipWith,zipWith3,unzip,unzip3,null)
src/Data/Edison/Seq/FingerSeq.hs view
@@ -32,7 +32,7 @@ ) where import qualified Prelude-import Prelude hiding (concat,reverse,map,concatMap,foldr,foldl,foldr1,foldl1,+import Prelude hiding (concat,reverse,map,concatMap,foldr,foldl,foldr1,foldl1,foldl', filter,takeWhile,dropWhile,lookup,take,drop,splitAt, zip,zip3,zipWith,zipWith3,unzip,unzip3,null)
src/Data/Edison/Seq/JoinList.hs view
@@ -48,7 +48,7 @@ moduleName ) where -import Prelude hiding (concat,reverse,map,concatMap,foldr,foldl,foldr1,foldl1,+import Prelude hiding (concat,reverse,map,concatMap,foldr,foldl,foldr1,foldl1,foldl', filter,takeWhile,dropWhile,lookup,take,drop,splitAt, zip,zip3,zipWith,zipWith3,unzip,unzip3,null)
src/Data/Edison/Seq/MyersStack.hs view
@@ -44,7 +44,7 @@ moduleName ) where -import Prelude hiding (concat,reverse,map,concatMap,foldr,foldl,foldr1,foldl1,+import Prelude hiding (concat,reverse,map,concatMap,foldr,foldl,foldr1,foldl1,foldl', filter,takeWhile,dropWhile,lookup,take,drop,splitAt, zip,zip3,zipWith,zipWith3,unzip,unzip3,null)
src/Data/Edison/Seq/RandList.hs view
@@ -49,7 +49,7 @@ moduleName ) where -import Prelude hiding (concat,reverse,map,concatMap,foldr,foldl,foldr1,foldl1,+import Prelude hiding (concat,reverse,map,concatMap,foldr,foldl,foldr1,foldl1,foldl', filter,takeWhile,dropWhile,lookup,take,drop,splitAt, zip,zip3,zipWith,zipWith3,unzip,unzip3,null)
src/Data/Edison/Seq/RevSeq.hs view
@@ -52,7 +52,7 @@ ) where -import Prelude hiding (concat,reverse,map,concatMap,foldr,foldl,foldr1,foldl1,+import Prelude hiding (concat,reverse,map,concatMap,foldr,foldl,foldr1,foldl1,foldl', filter,takeWhile,dropWhile,lookup,take,drop,splitAt, zip,zip3,zipWith,zipWith3,unzip,unzip3,null)
src/Data/Edison/Seq/SimpleQueue.hs view
@@ -47,7 +47,7 @@ moduleName ) where -import Prelude hiding (concat,reverse,map,concatMap,foldr,foldl,foldr1,foldl1,+import Prelude hiding (concat,reverse,map,concatMap,foldr,foldl,foldr1,foldl1,foldl', filter,takeWhile,dropWhile,lookup,take,drop,splitAt, zip,zip3,zipWith,zipWith3,unzip,unzip3,null)
src/Data/Edison/Seq/SizedSeq.hs view
@@ -42,7 +42,7 @@ fromSeq,toSeq ) where -import Prelude hiding (concat,reverse,map,concatMap,foldr,foldl,foldr1,foldl1,+import Prelude hiding (concat,reverse,map,concatMap,foldr,foldl,foldr1,foldl1,foldl', filter,takeWhile,dropWhile,lookup,take,drop,splitAt, zip,zip3,zipWith,zipWith3,unzip,unzip3,null)