impl: Framework for defaulting superclasses

[ development, library, mit, template-haskell ] [ Propose Tags ] [ Report a vulnerability ]

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

Modules

[Index] [Quick Jump]

  • Monad
    • Monad.Foo
    • Monad.Impl

Flags

Manual Flags

NameDescriptionDefault
dumpexample

Show generated TH in example

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

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 963 total (8 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]