Default instances for types in newer versions of base package.

Latest on Hackage:0.0.2

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow to host generated Haddocks.

BSD3 licensed by Peter Trško
Maintained by


[Hackage][data-default-instances-new-base] Hackage Dependencies [Haskell Programming Language][] [BSD3 License][tl;dr Legal: BSD3]



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 >=

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 >=

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 >=

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.


The BSD 3-Clause License, see [LICENSE][] file for details.


Contributions, pull requests and bug reports are welcome! Please don't be afraid to contact author using GitHub or by e-mail. "Package base on Hackage" [data-default]: "Package data-default on Hackage" [data-default-class]: "Package data-default-class on Hackage" [data-default-instances-base]: "Package data-default-instances-base on Hackage" [data-default-instances-new-base]: "Package data-default-instances-new-base on Hackage" []: "The Haskell Programming Language" [LICENSE]: "License of data-default-instances-new-base package." [tl;dr Legal: BSD3]: "BSD 3-Clause License (Revised)"


ChangeLog / ReleaseNotes

Version 0.0.1


  • Support for data-default-class ==0.1.*.
  • Avoiding dependency on data-default-instances-base when building with data-default-class >=0.1.2. "HackageDB (or just Hackage) is a collection of releases of Haskell packages."

Depends on 2 packages:
Used by 1 package:
comments powered byDisqus