packages feed

OneTuple 0.2.1 → 0.2.2

raw patch · 6 files changed

+58/−51 lines, 6 filesdep +semigroupsdep ~basenew-uploaderPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: semigroups

Dependency ranges changed: base

API changes (from Hackage documentation)

- Data.Tuple.OneTuple: instance Applicative OneTuple
- Data.Tuple.OneTuple: instance Bounded a => Bounded (OneTuple a)
- Data.Tuple.OneTuple: instance Enum a => Enum (OneTuple a)
- Data.Tuple.OneTuple: instance Eq a => Eq (OneTuple a)
- Data.Tuple.OneTuple: instance Foldable OneTuple
- Data.Tuple.OneTuple: instance Functor OneTuple
- Data.Tuple.OneTuple: instance Ix a => Ix (OneTuple a)
- Data.Tuple.OneTuple: instance Monad OneTuple
- Data.Tuple.OneTuple: instance MonadFix OneTuple
- Data.Tuple.OneTuple: instance Monoid a => Monoid (OneTuple a)
- Data.Tuple.OneTuple: instance Ord a => Ord (OneTuple a)
- Data.Tuple.OneTuple: instance Read a => Read (OneTuple a)
- Data.Tuple.OneTuple: instance Show a => Show (OneTuple a)
- Data.Tuple.OneTuple: instance Traversable OneTuple
+ Data.Tuple.OneTuple: instance Control.Monad.Fix.MonadFix Data.Tuple.OneTuple.OneTuple
+ Data.Tuple.OneTuple: instance Data.Foldable.Foldable Data.Tuple.OneTuple.OneTuple
+ Data.Tuple.OneTuple: instance Data.Semigroup.Semigroup a => Data.Semigroup.Semigroup (Data.Tuple.OneTuple.OneTuple a)
+ Data.Tuple.OneTuple: instance Data.Traversable.Traversable Data.Tuple.OneTuple.OneTuple
+ Data.Tuple.OneTuple: instance GHC.Arr.Ix a => GHC.Arr.Ix (Data.Tuple.OneTuple.OneTuple a)
+ Data.Tuple.OneTuple: instance GHC.Base.Applicative Data.Tuple.OneTuple.OneTuple
+ Data.Tuple.OneTuple: instance GHC.Base.Functor Data.Tuple.OneTuple.OneTuple
+ Data.Tuple.OneTuple: instance GHC.Base.Monad Data.Tuple.OneTuple.OneTuple
+ Data.Tuple.OneTuple: instance GHC.Base.Monoid a => GHC.Base.Monoid (Data.Tuple.OneTuple.OneTuple a)
+ Data.Tuple.OneTuple: instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.Tuple.OneTuple.OneTuple a)
+ Data.Tuple.OneTuple: instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.Tuple.OneTuple.OneTuple a)
+ Data.Tuple.OneTuple: instance GHC.Enum.Bounded a => GHC.Enum.Bounded (Data.Tuple.OneTuple.OneTuple a)
+ Data.Tuple.OneTuple: instance GHC.Enum.Enum a => GHC.Enum.Enum (Data.Tuple.OneTuple.OneTuple a)
+ Data.Tuple.OneTuple: instance GHC.Read.Read a => GHC.Read.Read (Data.Tuple.OneTuple.OneTuple a)
+ Data.Tuple.OneTuple: instance GHC.Show.Show a => GHC.Show.Show (Data.Tuple.OneTuple.OneTuple a)

Files

− BUGS
@@ -1,5 +0,0 @@--* OneTuple needs the ability to send email.-    Andrew Bromage points out that OneTuple isn't maximally-    flexible until it can send email.-
− CONTRIBUTORS
@@ -1,7 +0,0 @@-All of the following have contributed code to the project.  Thanks for-your help!--John Dorsey -- initial version-Luke Palmer -- corrected instance Traversable-Neil Mitchell -- pointed out that .cabal file is backward compatible-
+ Changelog.md view
@@ -0,0 +1,4 @@+# 0.2.2++- Add `Semigroup` instances+- Compatible with GHC-8.4
Data/Tuple/OneTuple.hs view
@@ -1,4 +1,3 @@- -- |OneTuple fills the /tuple gap/ with a singleton tuple. --  -- OneTuple /does not support/ the usual parenthesized tuple syntax.@@ -16,13 +15,14 @@  module Data.Tuple.OneTuple (OneTuple(OneTuple), only) where -import Control.Applicative-import Control.Monad-import Control.Monad.Fix-import Data.Foldable-import Data.Ix-import Data.Monoid-import Data.Traversable+import Control.Applicative (Applicative (..), liftA)+import Control.Monad (ap)+import Control.Monad.Fix (MonadFix (..))+import Data.Foldable (Foldable (..))+import Data.Ix (Ix (..))+import Data.Monoid (Monoid (..))+import Data.Semigroup (Semigroup (..))+import Data.Traversable (Traversable (..))  -- |OneTuple is the singleton tuple data type. data OneTuple a@@ -55,23 +55,30 @@     foldl1 _f (OneTuple x) = x  instance Traversable OneTuple where+    traverse f (OneTuple x) = fmap OneTuple (f x)     sequenceA (OneTuple x) = fmap OneTuple x  instance Functor OneTuple where     fmap f (OneTuple x) = OneTuple (f x)  instance Applicative OneTuple where-    pure = return-    (<*>) = ap+    pure = OneTuple +    OneTuple f <*> OneTuple x = OneTuple (f x)+    _ *> x = x+    x <* _ = x+ instance Monad OneTuple where+    return = pure+    (>>) = (*>)     (OneTuple x) >>= f = f x-    return = OneTuple +instance (Semigroup a) => Semigroup (OneTuple a) where+    OneTuple x <> OneTuple y = OneTuple (x <> y)+ instance (Monoid a) => Monoid (OneTuple a) where     mempty = OneTuple mempty     mappend (OneTuple x) (OneTuple y) = OneTuple (mappend x y)-    mconcat = Prelude.foldr1 mappend  instance MonadFix OneTuple where     mfix f = let a = f (only a) in a
− FAQ
@@ -1,22 +0,0 @@--This is a list of Frequently Asked Questions about OneTuple, the-optional Haskell singleton tuple type.--Some of these are, of course, merely anticipated FAQs.--Q 1.  What's the point, if you can't support the same syntax as-      'normal' tuples?-A 1.  You can hack it up in TH if you want -- patches are welcome!-      Simplicity and (near) H98 compatibility were goals in building-      OneTuple.--Q 2.  Why define 'data OneTuple' instead of just a type alias?-A 2.  For laziness and pattern matching similar to other tuples.--Q 3.  Isn't this the same as <something> ?-A 3.  Could be, but this one's sold as a tuple!--Q 4.  Singleton tuples don't make sense!  They're isomorphic to their-      component type!-A 4.  Yes, that's true, up to laziness.-
OneTuple.cabal view
@@ -1,14 +1,44 @@+cabal-version:   >=1.10 Name:            OneTuple-Version:         0.2.1+Version:         0.2.2+ Synopsis:        Singleton Tuple-Description:     Singleton Tuple+Category:        Data+Description:+  This package provides a singleton tuple data type+  .+  > data OneTuple = OneTuple a+  .+  Note: it's not a @newtype@ Copyright:       (c) John Dorsey 2008 License:	 BSD3 License-file:    LICENSE Author:          John Dorsey <haskell@colquitt.org>-Maintainer:      John Dorsey <haskell@colquitt.org>+Maintainer:      Oleg Grenrus <oleg.grenrus@iki.fi>, John Dorsey <haskell@colquitt.org> Stability:       experimental Build-type:      Simple-Build-depends:   base-Exposed-Modules: Data.Tuple.OneTuple+tested-with:+  GHC  ==7.0.4+    || ==7.2.2+    || ==7.4.2+    || ==7.6.3+    || ==7.8.4+    || ==7.10.3+    || ==8.0.2+    || ==8.2.2+    || ==8.4.2+extra-source-files:+  Changelog.md++source-repository head+  type:      git+  location:  https://github.com/phadej/OneTUple.git++library+  default-language: Haskell98+  Exposed-Modules:  Data.Tuple.OneTuple+  Build-depends:    base >= 4.3 && <4.12++  if !impl(ghc >= 8.0)+    Build-depends:  semigroups >=0.18.4 && <0.19