Semigroup 0.0.6 → 0.0.7
raw patch · 2 files changed
+42/−8 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Data.Semigroup: BoundedMax :: Maybe a -> BoundedMax a
+ Data.Semigroup: BoundedMin :: Maybe a -> BoundedMin a
+ Data.Semigroup: Max :: a -> Max a
+ Data.Semigroup: Min :: a -> Min a
+ Data.Semigroup: instance Eq a => Eq (BoundedMax a)
+ Data.Semigroup: instance Eq a => Eq (BoundedMin a)
+ Data.Semigroup: instance Eq a => Eq (Max a)
+ Data.Semigroup: instance Eq a => Eq (Min a)
+ Data.Semigroup: instance Ord a => Monoid (BoundedMax a)
+ Data.Semigroup: instance Ord a => Monoid (BoundedMin a)
+ Data.Semigroup: instance Ord a => Ord (BoundedMax a)
+ Data.Semigroup: instance Ord a => Ord (BoundedMin a)
+ Data.Semigroup: instance Ord a => Ord (Max a)
+ Data.Semigroup: instance Ord a => Ord (Min a)
+ Data.Semigroup: instance Ord a => Semigroup (Max a)
+ Data.Semigroup: instance Ord a => Semigroup (Min a)
+ Data.Semigroup: instance Read a => Read (BoundedMax a)
+ Data.Semigroup: instance Read a => Read (BoundedMin a)
+ Data.Semigroup: instance Read a => Read (Max a)
+ Data.Semigroup: instance Read a => Read (Min a)
+ Data.Semigroup: instance Show a => Show (BoundedMax a)
+ Data.Semigroup: instance Show a => Show (BoundedMin a)
+ Data.Semigroup: instance Show a => Show (Max a)
+ Data.Semigroup: instance Show a => Show (Min a)
+ Data.Semigroup: newtype BoundedMax a
+ Data.Semigroup: newtype BoundedMin a
+ Data.Semigroup: newtype Max a
+ Data.Semigroup: newtype Min a
+ Data.Semigroup: runBoundedMax :: BoundedMax a -> Maybe a
+ Data.Semigroup: runBoundedMin :: BoundedMin a -> Maybe a
+ Data.Semigroup: runMax :: Max a -> a
+ Data.Semigroup: runMin :: Min a -> a
Files
- Data/Semigroup.hs +38/−4
- Semigroup.cabal +4/−4
Data/Semigroup.hs view
@@ -1,8 +1,12 @@ -- | A semigroup is a binary associative operation.-module Data.Semigroup(- Semigroup((.++.)),- (<++>)- ) where+module Data.Semigroup (+ Semigroup((.++.))+, (<++>)+, Max(..)+, Min(..)+, BoundedMax(..)+, BoundedMin(..)+) where import Data.Monoid import Data.Sequence@@ -98,4 +102,34 @@ instance Semigroup B.ByteString where (.++.) = mappend++newtype Max a = Max {+ runMax :: a+} deriving (Eq, Ord, Show, Read)++instance Ord a => Semigroup (Max a) where+ Max a .++. Max b = Max (a `max` b)++newtype Min a = Min {+ runMin :: a+} deriving (Eq, Ord, Show, Read)++instance Ord a => Semigroup (Min a) where+ Min a .++. Min b = Min (a `min` b)++newtype BoundedMax a = BoundedMax {+ runBoundedMax :: Maybe a+} deriving (Eq, Ord, Show, Read)++instance Ord a => Monoid (BoundedMax a) where+ mempty = BoundedMax Nothing+ mappend = max++newtype BoundedMin a = BoundedMin {+ runBoundedMin :: Maybe a+} deriving (Eq, Ord, Show, Read)++instance Ord a => Monoid (BoundedMin a) where+ mempty = BoundedMin Nothing+ mappend = min
Semigroup.cabal view
@@ -1,14 +1,14 @@ Name: Semigroup-Version: 0.0.6+Version: 0.0.7 License: BSD3 License-File: LICENSE Synopsis: A semigroup Description: A semigroup is a binary associative operation-Homepage: http://code.google.com/p/semigroup/+Homepage: https://bitbucket.org/dibblego/semigroup/ Category: Data Author: Tony Morris-Maintainer: code@tmorris.net-Copyright: 2010 Tony Morris+Maintainer: ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ+Copyright: 2010-2011 Tony Morris build-type: Simple cabal-version: >= 1.2