data-default-instances-new-base: Default instances for types in newer versions of base package.

[ bsd3, data, library ] [ Propose Tags ]

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

[Skip to Readme]
Versions [faq] 0.0.1, 0.0.2
Change log ChangeLog.md
Dependencies base (==4.*), data-default-class (>=0.0 && <0.2), data-default-instances-base (>=0.0 && <0.2) [details]
License BSD-3-Clause
Copyright (c) 2015-2016, Peter Trško
Author Peter Trško
Maintainer peter.trsko@gmail.com
Revised Revision 1 made by PeterTrsko at Thu Jan 5 20:48:53 UTC 2017
Category Data
Home page https://github.com/trskop/data-default-extra
Bug tracker https://github.com/trskop/data-default-extra/issues
Source repo head: git clone git://github.com/trskop/data-default-extra.git
this: git clone git://github.com/trskop/data-default-extra.git(tag new-base-v0.0.1)
Uploaded by PeterTrsko at Sun Feb 7 13:02:40 UTC 2016
Distributions NixOS:0.0.2
Downloads 943 total (20 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2016-02-12 [all 1 reports]

Modules

[Index]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees


Readme for data-default-instances-new-base-0.0.1

[back to package description]

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.