packages feed

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 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