The template-default package
Declaring instances of the Default type class has always been pretty mechanical. This package makes the compiler do the mechanical bit. This has the benefit that even less thought is required, and the instance will automatically be corrected when the definition of the data type changes (say, to add more arguments to the constructor). Usage looks like this, for example:
(-# LANGUAGE TemplateHaskell #-) import Data.Default.TH data List a = Nil | Cons a (List a) deriveDefault ''List
This example results in the following instance:
instance Data.Default.Default (List a_ad2) where Data.Default.def = Nil
Properties
| Versions | 0.1, 0.1.1 |
|---|---|
| Dependencies | base (≥3 & <6), data-default, template-haskell (≥2.4 & <2.9) |
| License | BSD3 |
| Copyright | Daniel Wagner 2012 |
| Author | Daniel Wagner |
| Maintainer | Daniel Wagner <daniel@wagner-home.com> |
| Category | Data |
| Home page | https://github.com/haskell-pkg-janitors/template-default |
| Upload date | Thu Mar 21 22:10:24 UTC 2013 |
| Uploaded by | GregoryCollins |
| Built on | ghc-7.6 |
Modules
- Data
- Default
Downloads
- template-default-0.1.1.tar.gz (Cabal source package)
- package description (included in the package)