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 +4/−0
- extended-reals.cabal +6/−2
- src/Data/ExtendedReal.hs +19/−17
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