packages feed

data-default-extra 0.0.1 → 0.1.0

raw patch · 6 files changed

+58/−19 lines, 6 filesdep −data-default-instances-basedep ~data-default-classdep ~data-default-instances-new-basePVP ok

version bump matches the API change (PVP)

Dependencies removed: data-default-instances-base

Dependency ranges changed: data-default-class, data-default-instances-new-base

API changes (from Hackage documentation)

Files

ChangeLog.md view
@@ -7,6 +7,15 @@ * Uploaded to [Hackage][]: <http://hackage.haskell.org/package/data-default-extra-0.0.1>  +## Version 0.1.0++* Support for `data-default-class ==0.1.*` and related instance modules.+* Avoiding dependency on `data-default-instances-base` when building with+  `data-default-class >=0.1.2`.+* Module `Data.Default.Generic` is now deprecated, since package+  `data-default-class >=0.1` supports GHC Generics on its own.++  [Hackage]:   http://hackage.haskell.org/
LICENSE view
@@ -1,4 +1,4 @@-Copyright (c) 2016, Peter Trško+Copyright (c) 2016-2017 Peter Trško  All rights reserved. 
README.md view
@@ -1,7 +1,7 @@ # data-default-extra -[![Hackage](http://img.shields.io/hackage/v/data-default-instances-extra.svg)][data-default-instances-extra]-[![Hackage Dependencies](https://img.shields.io/hackage-deps/v/data-default-instances-extra.svg)](http://packdeps.haskellers.com/reverse/data-default-instances-extra)+[![Hackage](http://img.shields.io/hackage/v/data-default-extra.svg)][data-default-extra]+[![Hackage Dependencies](https://img.shields.io/hackage-deps/v/data-default-extra.svg)](http://packdeps.haskellers.com/reverse/data-default-extra) [![Haskell Programming Language](https://img.shields.io/badge/language-Haskell-blue.svg)][Haskell.org] [![BSD3 License](http://img.shields.io/badge/license-BSD3-brightgreen.svg)][tl;dr Legal: BSD3] @@ -53,14 +53,15 @@  ```Haskell {-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DefaultSignatures #-}  import GHC.Generics (Generic)+import Data.Default (Default)  data MyType = MyType Int (Maybe String)   deriving (Generic, Show) -instance Default MyType where-    def = genericDef+instance Default MyType ```  ```@@ -68,7 +69,23 @@ MyType 0 Nothing ``` +One can also use `DeriveAnyClass` language extension: +```Haskell+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DeriveAnyClass #-}++import GHC.Generics (Generic)+import Data.Default (Default)++data MyType = MyType Int (Maybe String)+  deriving (Default, Generic, Show)+```++Be aware that `DeriveAnyClass` doesn't work well together with+`GeneralizedNewtypeDeriving` on some versions of GHC. See [GHC issue #10598][]++ ## License  The BSD 3-Clause License, see [LICENSE][] file for details.@@ -86,12 +103,15 @@ [data-default-class]:   https://hackage.haskell.org/package/data-default   "Hackage: data-default-class"-[data-default-instances-extra]:-  https://hackage.haskell.org/package/data-default-instances-extra-  "Package data-default-instances-extra on Hackage"+[data-default-extra]:+  https://hackage.haskell.org/package/data-default-extra+  "Package data-default-extra on Hackage" [GHC Generics]:   https://wiki.haskell.org/GHC.Generics   "GHC.Generics on HaskellWiki"+[GHC issue #10598]:+  https://ghc.haskell.org/trac/ghc/ticket/10598+  "GHC issue #10598: DeriveAnyClass and GND don't work well together" [Haskell.org]:   http://www.haskell.org   "The Haskell Programming Language"
data-default-extra.cabal view
@@ -1,5 +1,5 @@ name:                   data-default-extra-version:                0.0.1+version:                0.1.0 synopsis:               A class for types with a default value. description:   An alternative to@@ -40,13 +40,14 @@ license-file:           LICENSE author:                 Peter Trško maintainer:             peter.trsko@gmail.com-copyright:              (c) 2016, Peter Trško+copyright:              (c) 2016-2017 Peter Trško category:               Data build-type:             Simple cabal-version:          >=1.10  extra-source-files:     ChangeLog.md, README.md + flag with-bytestring   description:     Provide instances for (lazy and strict) ByteString, ByteString Builder and@@ -116,9 +117,8 @@    build-depends:       base <6-    , data-default-class ==0.0.*-    , data-default-instances-base ==0.0.*-    , data-default-instances-new-base ==0.0.*+    , data-default-class >=0.0.1 && <0.2+    , data-default-instances-new-base >=0.0.1 && <0.2    if impl(ghc <7.6)     -- GHC.Generics moved from ghc-prim to base with GHC 7.6 release.@@ -165,4 +165,4 @@ source-repository this   type:                 git   location:             git://github.com/trskop/data-default-extra.git-  tag:                  v0.0.1+  tag:                  class-0.1.2
src/Data/Default.hs view
@@ -3,12 +3,12 @@ -- | -- Module:       $HEADER$ -- Description:  A class for types with a default value.--- Copyright:    (c) 2016, Peter Trško+-- Copyright:    (c) 2016-2017 Peter Trško -- License:      BSD3 -- -- Maintainer:   peter.trsko@gmail.com -- Stability:    stable--- Portability:  CPP, NoImplicitPrelude+-- Portability:  GHC specific language extensions. -- -- A class for types with a default value. module Data.Default@@ -48,7 +48,6 @@   where  import Data.Default.Class (Default(def))-import Data.Default.Instances.Base () import Data.Default.Instances.Base.New ()  #ifdef WITH_bytestring
src/Data/Default/Generic.hs view
@@ -1,22 +1,33 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE TypeOperators #-} -- | -- Module:       $HEADER$ -- Description:  Create Default instances using GHC Generics.--- Copyright:    (c) 2016, Peter Trško+-- Copyright:    (c) 2016-2017 Peter Trško -- License:      BSD3 -- -- Maintainer:   peter.trsko@gmail.com -- Stability:    stable--- Portability:  FlexibleContexts, NoImplicitPrelude, TypeOperators+-- Portability:  GHC specific language extension. --+-- __DEPRECATED__ because package+-- <https://hackage.haskell.org/package/data-default-class data-default-class>+-- now supports GHC Generics.+-- -- Create 'Default' instances using GHC Generics. For more information see: -- -- * <https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/ GHC User's Guide> -- -- * <https://wiki.haskell.org/GHC.Generics HaskellWiki: GHC.Generics>+--+-- Package+-- <https://hackage.haskell.org/package/data-default-class data-default-class>+-- supports GHC Generics since version 0.1.0, but it is still useful to have+-- 'GDefault' and 'genericDef' exposed for more complex cases. module Data.Default.Generic+     {-# DEPRECATED "Use DefaultSignatures or DeriveAnyClass language extension instead." #-}     (     -- | Rule of thumb, if generic instance definition, contains more code then     -- the explicit definition, then use the explicit definition.