impl: Framework for defaulting superclasses
This small but extensible framework facilitates defining complex defaulting rules that are not handled by DefaultSignatures, and reducing the overhead of giving instances to new datatypes by generating superclasses. One reason we might want this is when a superclass wants to be given a default by two different subclasses (ex: Bifunctor and Profunctor both could generate Functor instances). See the example internal library for how to implement instances of Impl. Impl is most valuable when instantiating deep (or even undecidably recursive) typeclass hierarchies for multiple new datatypes, which is most common in client code.
library impl
library impl:example
Flags
Manual Flags
Name | Description | Default |
---|---|---|
dumpexample | Show generated TH in example | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- impl-0.2.0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.1.0.0, 0.2.0.0 |
---|---|
Dependencies | base (>=4.12.0.0 && <4.13), containers (>=0.6.0.1 && <0.7), impl, named (>=0.2.0.0 && <0.3), template-haskell (>=2.14.0.0 && <2.15) [details] |
License | MIT |
Copyright | 2018 Sodality |
Author | Dai |
Maintainer | daig@sodality.cc |
Category | Development, Template Haskell |
Home page | https://github.com/exordium/impl#readme |
Bug tracker | https://github.com/exordium/impl/issues |
Source repo | head: git clone https://github.com/exordium/impl |
Uploaded | by dailectic at 2018-11-27T14:41:05Z |
Distributions | |
Downloads | 964 total (6 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user [build log] Last success reported on 2018-11-27 [all 1 reports] |