sets 0.0.1 → 0.0.1.1
raw patch · 3 files changed
+11/−20 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Data.Set.Class: instance (Data.Commutative.Commutative (Data.Set.Class.Types.Intersection s), Data.Set.Class.HasTotal s) => Data.Commutative.CommutativeId (Data.Set.Class.Types.Intersection s)
- Data.Set.Class: instance (Data.Commutative.Commutative (Data.Set.Class.Types.Union s), Data.Set.Class.HasEmpty s) => Data.Commutative.CommutativeId (Data.Set.Class.Types.Union s)
- Data.Set.Class: instance Data.Set.Class.CanBeProperSubset a => Data.Set.Class.CanBeProperSubset (Data.Set.Class.Types.Intersection a)
- Data.Set.Class: instance Data.Set.Class.CanBeProperSubset a => Data.Set.Class.CanBeProperSubset (Data.Set.Class.Types.Union a)
- Data.Set.Class: instance Data.Set.Class.CanBeSubset a => Data.Set.Class.CanBeSubset (Data.Set.Class.Types.Intersection a)
- Data.Set.Class: instance Data.Set.Class.CanBeSubset a => Data.Set.Class.CanBeSubset (Data.Set.Class.Types.Union a)
- Data.Set.Class: instance Data.Set.Class.HasComplement a => Data.Set.Class.HasComplement (Data.Set.Class.Types.Intersection a)
- Data.Set.Class: instance Data.Set.Class.HasComplement a => Data.Set.Class.HasComplement (Data.Set.Class.Types.Union a)
- Data.Set.Class: instance Data.Set.Class.HasDifference a => Data.Set.Class.HasDifference (Data.Set.Class.Types.Intersection a)
- Data.Set.Class: instance Data.Set.Class.HasDifference a => Data.Set.Class.HasDifference (Data.Set.Class.Types.Union a)
- Data.Set.Class: instance Data.Set.Class.HasEmpty a => Data.Set.Class.HasEmpty (Data.Set.Class.Types.Intersection a)
- Data.Set.Class: instance Data.Set.Class.HasEmpty a => Data.Set.Class.HasEmpty (Data.Set.Class.Types.Union a)
- Data.Set.Class: instance Data.Set.Class.HasEmptyWith k a => Data.Set.Class.HasEmptyWith k (Data.Set.Class.Types.Intersection a)
- Data.Set.Class: instance Data.Set.Class.HasEmptyWith k a => Data.Set.Class.HasEmptyWith k (Data.Set.Class.Types.Union a)
- Data.Set.Class: instance Data.Set.Class.HasIntersection a => Data.Set.Class.HasIntersection (Data.Set.Class.Types.Intersection a)
- Data.Set.Class: instance Data.Set.Class.HasIntersection a => Data.Set.Class.HasIntersection (Data.Set.Class.Types.Union a)
- Data.Set.Class: instance Data.Set.Class.HasIntersection s => Data.Commutative.Commutative (Data.Set.Class.Types.Intersection s)
- Data.Set.Class: instance Data.Set.Class.HasSingleton x a => Data.Set.Class.HasSingleton x (Data.Set.Class.Types.Intersection a)
- Data.Set.Class: instance Data.Set.Class.HasSingleton x a => Data.Set.Class.HasSingleton x (Data.Set.Class.Types.Union a)
- Data.Set.Class: instance Data.Set.Class.HasSingletonWith k x a => Data.Set.Class.HasSingletonWith k x (Data.Set.Class.Types.Intersection a)
- Data.Set.Class: instance Data.Set.Class.HasSingletonWith k x a => Data.Set.Class.HasSingletonWith k x (Data.Set.Class.Types.Union a)
- Data.Set.Class: instance Data.Set.Class.HasSize a => Data.Set.Class.HasSize (Data.Set.Class.Types.Intersection a)
- Data.Set.Class: instance Data.Set.Class.HasSize a => Data.Set.Class.HasSize (Data.Set.Class.Types.Union a)
- Data.Set.Class: instance Data.Set.Class.HasTotal a => Data.Set.Class.HasTotal (Data.Set.Class.Types.Intersection a)
- Data.Set.Class: instance Data.Set.Class.HasTotal a => Data.Set.Class.HasTotal (Data.Set.Class.Types.Union a)
- Data.Set.Class: instance Data.Set.Class.HasTotalWith k a => Data.Set.Class.HasTotalWith k (Data.Set.Class.Types.Intersection a)
- Data.Set.Class: instance Data.Set.Class.HasTotalWith k a => Data.Set.Class.HasTotalWith k (Data.Set.Class.Types.Union a)
- Data.Set.Class: instance Data.Set.Class.HasUnion a => Data.Set.Class.HasUnion (Data.Set.Class.Types.Intersection a)
- Data.Set.Class: instance Data.Set.Class.HasUnion a => Data.Set.Class.HasUnion (Data.Set.Class.Types.Union a)
- Data.Set.Class: instance Data.Set.Class.HasUnion s => Data.Commutative.Commutative (Data.Set.Class.Types.Union s)
- Data.Set.Class.Types: Intersection :: a -> Intersection a
- Data.Set.Class.Types: Union :: a -> Union a
- Data.Set.Class.Types: [fromIntersection] :: Intersection a -> a
- Data.Set.Class.Types: [fromUnion] :: Union a -> a
- Data.Set.Class.Types: newtype Intersection a
- Data.Set.Class.Types: newtype Union a
+ Data.Set.Class: Intersection :: a -> Intersection a
+ Data.Set.Class: Union :: a -> Union a
+ Data.Set.Class: [unIntersection] :: Intersection a -> a
+ Data.Set.Class: [unUnion] :: Union a -> a
+ Data.Set.Class: instance (Data.Commutative.Commutative (Data.Set.Class.Intersection s), Data.Set.Class.HasTotal s) => Data.Commutative.CommutativeId (Data.Set.Class.Intersection s)
+ Data.Set.Class: instance (Data.Commutative.Commutative (Data.Set.Class.Union s), Data.Set.Class.HasEmpty s) => Data.Commutative.CommutativeId (Data.Set.Class.Union s)
+ Data.Set.Class: instance Data.Set.Class.CanBeProperSubset a => Data.Set.Class.CanBeProperSubset (Data.Set.Class.Intersection a)
+ Data.Set.Class: instance Data.Set.Class.CanBeProperSubset a => Data.Set.Class.CanBeProperSubset (Data.Set.Class.Union a)
+ Data.Set.Class: instance Data.Set.Class.CanBeSubset a => Data.Set.Class.CanBeSubset (Data.Set.Class.Intersection a)
+ Data.Set.Class: instance Data.Set.Class.CanBeSubset a => Data.Set.Class.CanBeSubset (Data.Set.Class.Union a)
+ Data.Set.Class: instance Data.Set.Class.HasComplement a => Data.Set.Class.HasComplement (Data.Set.Class.Intersection a)
+ Data.Set.Class: instance Data.Set.Class.HasComplement a => Data.Set.Class.HasComplement (Data.Set.Class.Union a)
+ Data.Set.Class: instance Data.Set.Class.HasDifference a => Data.Set.Class.HasDifference (Data.Set.Class.Intersection a)
+ Data.Set.Class: instance Data.Set.Class.HasDifference a => Data.Set.Class.HasDifference (Data.Set.Class.Union a)
+ Data.Set.Class: instance Data.Set.Class.HasEmpty a => Data.Set.Class.HasEmpty (Data.Set.Class.Intersection a)
+ Data.Set.Class: instance Data.Set.Class.HasEmpty a => Data.Set.Class.HasEmpty (Data.Set.Class.Union a)
+ Data.Set.Class: instance Data.Set.Class.HasEmptyWith k a => Data.Set.Class.HasEmptyWith k (Data.Set.Class.Intersection a)
+ Data.Set.Class: instance Data.Set.Class.HasEmptyWith k a => Data.Set.Class.HasEmptyWith k (Data.Set.Class.Union a)
+ Data.Set.Class: instance Data.Set.Class.HasIntersection a => Data.Set.Class.HasIntersection (Data.Set.Class.Intersection a)
+ Data.Set.Class: instance Data.Set.Class.HasIntersection a => Data.Set.Class.HasIntersection (Data.Set.Class.Union a)
+ Data.Set.Class: instance Data.Set.Class.HasIntersection s => Data.Commutative.Commutative (Data.Set.Class.Intersection s)
+ Data.Set.Class: instance Data.Set.Class.HasSingleton x a => Data.Set.Class.HasSingleton x (Data.Set.Class.Intersection a)
+ Data.Set.Class: instance Data.Set.Class.HasSingleton x a => Data.Set.Class.HasSingleton x (Data.Set.Class.Union a)
+ Data.Set.Class: instance Data.Set.Class.HasSingletonWith k x a => Data.Set.Class.HasSingletonWith k x (Data.Set.Class.Intersection a)
+ Data.Set.Class: instance Data.Set.Class.HasSingletonWith k x a => Data.Set.Class.HasSingletonWith k x (Data.Set.Class.Union a)
+ Data.Set.Class: instance Data.Set.Class.HasSize a => Data.Set.Class.HasSize (Data.Set.Class.Intersection a)
+ Data.Set.Class: instance Data.Set.Class.HasSize a => Data.Set.Class.HasSize (Data.Set.Class.Union a)
+ Data.Set.Class: instance Data.Set.Class.HasTotal a => Data.Set.Class.HasTotal (Data.Set.Class.Intersection a)
+ Data.Set.Class: instance Data.Set.Class.HasTotal a => Data.Set.Class.HasTotal (Data.Set.Class.Union a)
+ Data.Set.Class: instance Data.Set.Class.HasTotalWith k a => Data.Set.Class.HasTotalWith k (Data.Set.Class.Intersection a)
+ Data.Set.Class: instance Data.Set.Class.HasTotalWith k a => Data.Set.Class.HasTotalWith k (Data.Set.Class.Union a)
+ Data.Set.Class: instance Data.Set.Class.HasUnion a => Data.Set.Class.HasUnion (Data.Set.Class.Intersection a)
+ Data.Set.Class: instance Data.Set.Class.HasUnion a => Data.Set.Class.HasUnion (Data.Set.Class.Union a)
+ Data.Set.Class: instance Data.Set.Class.HasUnion s => Data.Commutative.Commutative (Data.Set.Class.Union s)
+ Data.Set.Class: newtype Intersection a
+ Data.Set.Class: newtype Union a
Files
- sets.cabal +5/−5
- src/Data/Set/Class.hs +6/−3
- src/Data/Set/Class/Types.hs +0/−12
sets.cabal view
@@ -1,20 +1,20 @@ Name: sets-Version: 0.0.1+Version: 0.0.1.1 Author: Athan Clark <athan.clark@gmail.com> Maintainer: Athan Clark <athan.clark@gmail.com> License: MIT License-File: LICENSE-Synopsis: Various set designs in Haskell--- Description:+Synopsis: Various set implementations in Haskell+Description: This also includes overloaded functions for common set operations. See @Data.Set.Class@. Cabal-Version: >= 1.10 Build-Type: Simple+Category: Data, Math Library Default-Language: Haskell2010 HS-Source-Dirs: src GHC-Options: -Wall Exposed-Modules: Data.Set.Class- Data.Set.Class.Types Data.Set.Unordered.Unique Data.Set.Unordered.Many Data.Set.Ordered.Unique@@ -44,4 +44,4 @@ Source-Repository head Type: git- Location: https://github.com/athanclark/sets.git+ Location: https://github.com/athanclark/sets.git
src/Data/Set/Class.hs view
@@ -13,8 +13,7 @@ -- we don't have to use the qualified versions of each function. module Data.Set.Class- ( module X- , HasUnion (..)+ ( HasUnion (..) , HasDifference (..) , HasIntersection (..) , HasComplement (..)@@ -27,9 +26,10 @@ , HasSize (..) , CanBeSubset (..) , CanBeProperSubset (..)+ , Union (..)+ , Intersection (..) ) where -import Data.Set.Class.Types as X import Prelude (Eq (..), Ord, Int, Bool (..), (&&), (||), ($), (.), not, const) import Data.Foldable as Fold import Data.Monoid as Monoid@@ -52,6 +52,9 @@ import qualified Data.Set.Unordered.Unique as UU import qualified Data.Set.Ordered.Unique.Finite as OUF ++newtype Union a = Union {unUnion :: a}+newtype Intersection a = Intersection {unIntersection :: a} class HasUnion s where union :: s -> s -> s
− src/Data/Set/Class/Types.hs
@@ -1,12 +0,0 @@-{-# LANGUAGE- GeneralizedNewtypeDeriving- , StandaloneDeriving- #-}--module Data.Set.Class.Types where---- | These types are used for @Monoid@ and @Commutative@ instances for sets.--newtype Union a = Union {fromUnion :: a}--newtype Intersection a = Intersection {fromIntersection :: a}