verbosity 0.2.0.0 → 0.2.1.0
raw patch · 3 files changed
+40/−12 lines, 3 filesdep +cerealdep ~binarydep ~transformersPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: cereal
Dependency ranges changed: binary, transformers
API changes (from Hackage documentation)
- Data.Verbosity: instance Binary Verbosity
- Data.Verbosity: instance Bounded Verbosity
- Data.Verbosity: instance Constructor C1_0Verbosity
- Data.Verbosity: instance Constructor C1_1Verbosity
- Data.Verbosity: instance Constructor C1_2Verbosity
- Data.Verbosity: instance Constructor C1_3Verbosity
- Data.Verbosity: instance Data Verbosity
- Data.Verbosity: instance Datatype D1Verbosity
- Data.Verbosity: instance Default Verbosity
- Data.Verbosity: instance Enum Verbosity
- Data.Verbosity: instance Eq Verbosity
- Data.Verbosity: instance Generic Verbosity
- Data.Verbosity: instance NFData Verbosity
- Data.Verbosity: instance Ord Verbosity
- Data.Verbosity: instance Read Verbosity
- Data.Verbosity: instance Show Verbosity
- Data.Verbosity: instance Typeable Verbosity
- Data.Verbosity.Class: instance HasVerbosity Verbosity
+ Data.Verbosity: instance Control.DeepSeq.NFData Data.Verbosity.Verbosity
+ Data.Verbosity: instance Data.Binary.Class.Binary Data.Verbosity.Verbosity
+ Data.Verbosity: instance Data.Data.Data Data.Verbosity.Verbosity
+ Data.Verbosity: instance Data.Default.Class.Default Data.Verbosity.Verbosity
+ Data.Verbosity: instance GHC.Classes.Eq Data.Verbosity.Verbosity
+ Data.Verbosity: instance GHC.Classes.Ord Data.Verbosity.Verbosity
+ Data.Verbosity: instance GHC.Enum.Bounded Data.Verbosity.Verbosity
+ Data.Verbosity: instance GHC.Enum.Enum Data.Verbosity.Verbosity
+ Data.Verbosity: instance GHC.Generics.Constructor Data.Verbosity.C1_0Verbosity
+ Data.Verbosity: instance GHC.Generics.Constructor Data.Verbosity.C1_1Verbosity
+ Data.Verbosity: instance GHC.Generics.Constructor Data.Verbosity.C1_2Verbosity
+ Data.Verbosity: instance GHC.Generics.Constructor Data.Verbosity.C1_3Verbosity
+ Data.Verbosity: instance GHC.Generics.Datatype Data.Verbosity.D1Verbosity
+ Data.Verbosity: instance GHC.Generics.Generic Data.Verbosity.Verbosity
+ Data.Verbosity: instance GHC.Read.Read Data.Verbosity.Verbosity
+ Data.Verbosity: instance GHC.Show.Show Data.Verbosity.Verbosity
+ Data.Verbosity.Class: instance Data.Verbosity.Class.HasVerbosity Data.Verbosity.Verbosity
Files
- ChangeLog.md +8/−2
- src/Data/Verbosity.hs +18/−4
- verbosity.cabal +14/−6
ChangeLog.md view
@@ -1,10 +1,16 @@ # ChangeLog / ReleaseNotes +## Version 0.2.1.0++* Introducing optional instance for cereal's `Serialize` type class. Dependency+ on `cereal` package can be enabled using `-fcereal` build flag. (new)++ ## Version 0.2.0.0 -* Introducing module Data.Verbosity.Class which contains definition of- HasVerbosity type class. (new)+* Introducing module `Data.Verbosity.Class` which contains definition of+ `HasVerbosity` type class. (new) * Introducing function `fromInt :: Int -> Maybe Verbosity`. (new) * Introducing function `parse :: (Eq string, IsString string) => string -> Maybe Verbosity`. (new)
src/Data/Verbosity.hs view
@@ -60,13 +60,20 @@ import GHC.Generics (Generic) #endif -#ifdef DECLARE_BINARY_INSTANCE+#if defined(DECLARE_BINARY_INSTANCE) || defined(DECLARE_SERIALIZE_INSTANCE) import Control.Applicative ((<$>)) import Data.Function ((.))+#endif -import Data.Binary (Binary(get, put), getWord8, putWord8)+#ifdef DECLARE_BINARY_INSTANCE+import Data.Binary (Binary(get, put))+import qualified Data.Binary as Binary (getWord8, putWord8) #endif +#ifdef DECLARE_SERIALIZE_INSTANCE+import qualified Data.Serialize as Cereal (Serialize(..), getWord8, putWord8)+#endif+ #ifdef DECLARE_DEFAULT_INSTANCE import Data.Default.Class (Default(def)) #endif@@ -121,8 +128,15 @@ #ifdef DECLARE_BINARY_INSTANCE -- | Encoded as one byte in range @['minBound' .. 'maxBound' :: Verbosity]@. instance Binary Verbosity where- get = toEnum . fromIntegral <$> getWord8- put = putWord8 . fromIntegral . fromEnum+ get = toEnum . fromIntegral <$> Binary.getWord8+ put = Binary.putWord8 . fromIntegral . fromEnum+#endif++#ifdef DECLARE_SERIALIZE_INSTANCE+-- | Encoded as one byte in range @['minBound' .. 'maxBound' :: Verbosity]@.+instance Cereal.Serialize Verbosity where+ get = toEnum . fromIntegral <$> Cereal.getWord8+ put = Cereal.putWord8 . fromIntegral . fromEnum #endif #ifdef DECLARE_NFDATA_INSTANCE
verbosity.cabal view
@@ -1,5 +1,5 @@ name: verbosity-version: 0.2.0.0+version: 0.2.1.0 synopsis: Simple enum that encodes application verbosity. description: Simple enum that encodes application verbosity with various useful instances.@@ -36,7 +36,7 @@ default: True flag ghc-generics- description: Derive instances for Data and Typeable type classes.+ description: Derive instances for Generic type class. default: True flag binary@@ -51,6 +51,10 @@ description: Define instance for NFData type class. default: True +flag cereal+ description: Define instance for Serialize type class.+ default: False+ library hs-source-dirs: src exposed-modules: Data.Verbosity, Data.Verbosity.Class@@ -75,7 +79,7 @@ -- Versions of transformers <0.2 doesn't include Data.Functor.Identity, -- which is used by this package, and version 0.4.0.0 of transformers is -- deprecated.- build-depends: transformers >=0.2 && <0.4 || >=0.4.1 && <0.5+ build-depends: transformers >=0.2 && <0.4 || >=0.4.1 && <0.6 if flag(pedantic) ghc-options: -fwarn-implicit-prelude@@ -91,7 +95,7 @@ cpp-options: -DDERIVE_DATA_TYPEABLE if flag(binary)- build-depends: binary >=0.5 && <0.8+ build-depends: binary >=0.5 && <0.9 cpp-options: -DDECLARE_BINARY_INSTANCE if flag(data-default)@@ -100,9 +104,13 @@ if flag(deepseq) cpp-options: -DDECLARE_NFDATA_INSTANCE- build-depends: deepseq >= 1.1.0.0 && < 2+ build-depends: deepseq >=1.1.0.0 && <2 -- Prior to version 1.1.0.0 there was DeepSeq class instead of NFData. + if flag(cereal)+ cpp-options: -DDECLARE_SERIALIZE_INSTANCE+ build-depends: cereal >=0.1 && <0.6+ source-repository head type: git location: git://github.com/trskop/verbosity@@ -110,4 +118,4 @@ source-repository this type: git location: git://github.com/trskop/verbosity.git- tag: v0.2.0.0+ tag: v0.2.1.0