packages feed

ConstraintKinds 0.0.1.3 → 0.0.2.0

raw patch · 2 files changed

+15/−3 lines, 2 filesdep +dlistPVP ok

version bump matches the API change (PVP)

Dependencies added: dlist

API changes (from Hackage documentation)

+ Control.ConstraintKinds.Foldable: instance Foldable DList

Files

ConstraintKinds.cabal view
@@ -1,5 +1,5 @@ Name:                ConstraintKinds-Version:             0.0.1.3+Version:             0.0.2.0 Synopsis:            Repackages standard type classes with the ConstraintKinds extension Description:         This module provides more flexible versions of common type classes that use the ConstraintKinds extension.  This allows us to make types that require constraints instances of the popular classes.  For example, we reimplement Functor and Foldable using the ContraintKinds style.  This allows us to manipulate lists and unboxed vectors using the same functions.                      .@@ -14,12 +14,13 @@ source-repository head   type:     git   location: https://github.com/mikeizbicki/ConstraintKinds-  + Library     Build-Depends:               base                    >= 3 && < 5,         ghc-prim,-        vector                  >= 0.9+        vector                  >= 0.9,+        dlist                   >= 0.5              hs-source-dirs:     src     ghc-options:        -rtsopts -auto-all -caf-all
src/Control/ConstraintKinds/Foldable.hs view
@@ -9,6 +9,7 @@ import Data.Maybe import Data.Monoid +import qualified Data.DList as D import qualified Data.Foldable as F import qualified Data.List as L import qualified Data.Traversable as T@@ -17,6 +18,7 @@ import qualified Data.Vector.Generic as G  import Prelude hiding (foldl, foldr)+import qualified Prelude as P  ------------------------------------------------------------------------------- -- Foldable@@ -98,3 +100,12 @@     foldl' = VU.foldl'     foldr1 = VU.foldr1     foldl1 = VU.foldl1+++instance Foldable D.DList where+    type FoldableConstraint D.DList x = ()+    foldr = D.foldr+    foldl f a = {-Data.DList.-}F.foldl f a . D.toList+    foldl' f a = {-Data.DList.-}F.foldl' f a . D.toList+    foldr1 f = {-Data.DList.-}F.foldr1 f . D.toList+    foldl1 f = {-Data.DList.-}F.foldl1 f . D.toList