packages feed

data-default (empty) → 0.2

raw patch · 3 files changed

+50/−0 lines, 3 filesdep +basedep +containerssetup-changed

Dependencies added: base, containers

Files

+ Data/Default.hs view
@@ -0,0 +1,32 @@+module Data.Default (+-- | This module defines a class for types with a default value. Instances are+-- provided for '()', 'S.Set', 'M.Map', 'Int', 'Integer', 'Float', 'Double',+-- 'Ratio', 'Maybe', '[]', '->' and 'IO'.+    Default(..)+) where++import Data.Ratio+import qualified Data.Set as S+import qualified Data.Map as M++-- | A class for types with a default value.+class Default a where+    -- | The default value for this type.+    def :: a++instance Default () where def = ()++instance Default (S.Set v) where def = S.empty+instance Default (M.Map k v) where def = M.empty++instance Default Int where def = 0+instance Default Integer where def = 0+instance Default Float where def = 0+instance Default Double where def = 0+instance (Integral a) => Default (Ratio a) where def = 0++instance Default (Maybe a) where def = Nothing+instance Default [a] where def = []++instance (Default r) => Default (e -> r) where def _ = def+instance (Default a) => Default (IO a) where def = return def
+ Setup.lhs view
@@ -0,0 +1,4 @@+#!/usr/bin/env runhaskell+> import Distribution.Simple+> main :: IO ()+> main = defaultMain
+ data-default.cabal view
@@ -0,0 +1,14 @@+Name:            data-default+Version:         0.2+Cabal-Version:   >= 1.2+Category:        Data+Synopsis:        A class for types with a default value+Build-Type:      Simple+License:         BSD3+Author:          Lukas Mai+Maintainer:      <l.mai@web.de>++Library+  Build-Depends:     base, containers+  Exposed-Modules:   Data.Default+  Ghc-Options:       -Wall -O2