data-default-class 0.0.1 → 0.1.0
raw patch · 3 files changed
+46/−10 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Data.Default.Class: instance (Data.Default.Class.GDefault a, Data.Default.Class.GDefault b) => Data.Default.Class.GDefault (a GHC.Generics.:*: b)
+ Data.Default.Class: instance Data.Default.Class.Default a => Data.Default.Class.GDefault (GHC.Generics.K1 i a)
+ Data.Default.Class: instance Data.Default.Class.GDefault GHC.Generics.U1
+ Data.Default.Class: instance Data.Default.Class.GDefault a => Data.Default.Class.GDefault (GHC.Generics.M1 i c a)
- Data.Default.Class: class Default a
+ Data.Default.Class: class Default a where def = to gdef
Files
- Data/Default/Class.hs +36/−0
- LICENSE +9/−9
- data-default-class.cabal +1/−1
Data/Default/Class.hs view
@@ -29,12 +29,48 @@ -} +{-# LANGUAGE CPP #-}++#if __GLASGOW_HASKELL__ >= 706+#define HAVE_GHC_706 1+#else+#define HAVE_GHC_706 0+#endif++#if HAVE_GHC_706+{-# LANGUAGE DefaultSignatures, TypeOperators, FlexibleContexts #-}+#endif+ module Data.Default.Class ( -- | This module defines a class for types with a default value. Default(..) ) where +#if HAVE_GHC_706+import GHC.Generics++class GDefault f where+ gdef :: f a++instance GDefault U1 where+ gdef = U1++instance (Default a) => GDefault (K1 i a) where+ gdef = K1 def++instance (GDefault a, GDefault b) => GDefault (a :*: b) where+ gdef = gdef :*: gdef++instance (GDefault a) => GDefault (M1 i c a) where+ gdef = M1 gdef+#endif+ -- | A class for types with a default value. class Default a where -- | The default value for this type. def :: a++#if HAVE_GHC_706+ default def :: (Generic a, GDefault (Rep a)) => a+ def = to gdef+#endif
LICENSE view
@@ -14,13 +14,13 @@ may be used to endorse or promote products derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY LUKAS MAI AND CONTRIBUTORS "AS IS" AND ANY-EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE-DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data-default-class.cabal view
@@ -1,5 +1,5 @@ Name: data-default-class-Version: 0.0.1+Version: 0.1.0 Cabal-Version: >= 1.6 Category: Data Synopsis: A class for types with a default value