Default instances for types in newer versions of base package.
Orphan instances for Default
type class, which is defined in package data-default-class.
In addition to instances reexported from data-default-instances-base package, following Default
instances are provided:
instance Default a => Default (Const a b) where
def = Const def
instance Monad m => Default (Kleisli m a b) where
def = Kleisli return
instance Default Version where
def = Version [] []
Following instances are available only for base >= 4.7.0.0:
instance Default (Proxy a) where
def = Proxy
instance Default SomeNat where
def = SomeNat (Proxy :: Proxy 0)
instance Default SomeSymbol where
def = SomeSymbol (Proxy :: Proxy "")
Following instances are available only for base >= 4.8.0.0:
instance Alternative f => Default (Alt f a) where
def = Alt empty
instance Default a => Default (Identity a) where
def = Identity def
instance Default Natural where
def = 0
Following instances are available only for base >= 4.9.0.0:
instance Default a => Default (NonEmpty a) where
def = def :| []
instance Bounded a => Default (Min a) where
def = minBound
instance Bounded a => Default (Max a) where
def = maxBound
instance Default (Option a) where
def = Option Nothing
data-default-instances-new-base
Description
Orphan instances for Default
type class, which is defined in package data-default-class.
In addition to instances reexported from data-default-instances-base package, following Default
instances are provided:
instance Default a => Default (Const a b) where
def = Const def
instance Monad m => Default (Kleisli m a b) where
def = Kleisli return
instance Default Version where
def = Version [] []
Following instances are available only for base >= 4.7.0.0:
instance Default (Proxy a) where
def = Proxy
instance Default SomeNat where
def = SomeNat (Proxy :: Proxy 0)
instance Default SomeSymbol where
def = SomeSymbol (Proxy :: Proxy "")
Following instances are available only for base >= 4.8.0.0:
instance Alternative f => Default (Alt f a) where
def = Alt empty
instance Default a => Default (Identity a) where
def = Identity def
instance Default Natural where
def = 0
Following instances are available only for base >= 4.9.0.0:
instance Default a => Default (NonEmpty a) where
def = def :| []
instance 'Bounded' a => Default (Min a) where
def = minBound
instance Bounded a => Default (Max a) where
def = maxBound
instance 'Default' ('Option' a) where
def = Option Nothing
This package is intended to be used in conjunction with data-default package or directly with data-default-class package.
License
The BSD 3-Clause License, see LICENSE file for details.
Contributions
Contributions, pull requests and bug reports are welcome! Please don't be afraid to contact author using GitHub or by e-mail.