@hackage data-default-instances-new-base0.0.1

Default instances for types in newer versions of base package.

data-default-instances-new-base

Hackage Hackage Dependencies Haskell Programming Language BSD3 License

Build

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