packages feed

extended-reals 0.2.5.0 → 0.2.6.0

raw patch · 3 files changed

+29/−19 lines, 3 filesdep +template-haskellPVP ok

version bump matches the API change (PVP)

Dependencies added: template-haskell

API changes (from Hackage documentation)

+ Data.ExtendedReal: instance Data.Foldable.Foldable Data.ExtendedReal.Extended
+ Data.ExtendedReal: instance Data.Traversable.Traversable Data.ExtendedReal.Extended
+ Data.ExtendedReal: instance GHC.Generics.Generic (Data.ExtendedReal.Extended r)
+ Data.ExtendedReal: instance Language.Haskell.TH.Syntax.Lift r => Language.Haskell.TH.Syntax.Lift (Data.ExtendedReal.Extended r)

Files

CHANGELOG.markdown view
@@ -1,3 +1,7 @@+# 0.2.6.0++* add `instance {Foldable,Traversable,Generic,Lift}`+ # 0.2.5.0  * add `fromRealFloat` helper
extended-reals.cabal view
@@ -1,5 +1,5 @@ name:                extended-reals-version:             0.2.5.0+version:             0.2.6.0 synopsis:            Extension of real numbers with positive/negative infinities description:   Extension of real numbers with positive/negative infinities (±∞).@@ -36,7 +36,11 @@ library   exposed-modules:     Data.ExtendedReal   other-extensions:    DeriveDataTypeable-  build-depends:       base >=4.9 && <5, deepseq >=1.3 && <1.6, hashable >=1.2 && <1.6+  build-depends:+    base >=4.9 && <5,+    deepseq >=1.3 && <1.6,+    hashable >=1.2 && <1.6,+    template-haskell <3   hs-source-dirs:      src   default-language:    Haskell2010 
src/Data/ExtendedReal.hs view
@@ -1,14 +1,14 @@ {-# OPTIONS_GHC -Wall #-} {-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DeriveLift #-}+{-# LANGUAGE DeriveTraversable #-} ----------------------------------------------------------------------------- -- | -- Module      :  Data.ExtendedReal -- Copyright   :  (c) Masahiro Sakai 2014 -- License     :  BSD-style---  -- Maintainer  :  masahiro.sakai@gmail.com--- Stability   :  provisional--- Portability :  non-portable (DeriveDataTypeable) -- -- Extension of real numbers with positive/negative infinities (±∞). -- It is useful for describing various limiting behaviors in mathematics.@@ -39,32 +39,34 @@ import Control.DeepSeq import Data.Data (Data) import Data.Hashable-import Data.Typeable (Typeable)+import GHC.Generics (Generic)+import Language.Haskell.TH.Syntax (Lift)  -- | @Extended r@ is an extension of /r/ with positive/negative infinity (±∞). data Extended r   = NegInf    -- ^ negative infinity (-∞)   | Finite !r -- ^ finite value   | PosInf    -- ^ positive infinity (+∞)-  deriving (Ord, Eq, Show, Read, Data)+  deriving+  ( Ord+  , Eq+  , Show+  , Read+  , Data+  , Functor+  , Foldable    -- ^ @since 0.2.6.0+  , Traversable -- ^ @since 0.2.6.0+  , Generic     -- ^ @since 0.2.6.0+  , Lift        -- ^ @since 0.2.6.0+  )  instance Bounded (Extended r) where   minBound = NegInf   maxBound = PosInf -instance Functor Extended where-  fmap _ NegInf = NegInf-  fmap f (Finite x) = Finite (f x)-  fmap _ PosInf = PosInf--instance NFData r => NFData (Extended r) where-  rnf (Finite x) = rnf x-  rnf _ = ()+instance NFData r => NFData (Extended r) -instance Hashable r => Hashable (Extended r) where-  hashWithSalt s NegInf     = s `hashWithSalt` (0::Int)-  hashWithSalt s (Finite x) = s `hashWithSalt` (1::Int) `hashWithSalt` x-  hashWithSalt s PosInf     = s `hashWithSalt` (2::Int)+instance Hashable r => Hashable (Extended r)  -- | Infinity (∞) inf :: Extended r