ban-instance: For when a type should never be an instance of a class

Banning an instance allows the programmer to actively declare that an instance should never be defined, and provide a reason why:
data Foo = -- ... $(banInstance [t|ToJSON Foo|] "why ToJSON Foo should never be defined")
[Skip to Readme]
Downloads
- ban-instance-0.1.1.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.1.0.1, 0.1.1.0 |
|---|---|
| Change log | ChangeLog.md |
| Dependencies | base (>=4.7 && <4.22), template-haskell (>=2.16 && <2.24) [details] |
| Tested with | ghc ==8.10.7 || ==9.0.1 || ==9.2.7 || ==9.4.5 || ==9.6.5 || ==9.8.2 || ==9.10.2 || ==9.12.2 |
| License | BSD-3-Clause |
| Copyright | (c) 2017, Commonwealth Scientific and Industrial Research Organisation |
| Author | Jack Kelly, Alex Mason |
| Maintainer | jack.kelly@data61.csiro.au |
| Uploaded | by jack at 2026-03-31T03:17:55Z |
| Category | Haskell |
| Home page | https://github.com/qfpl/ban-instance#readme |
| Bug tracker | https://github.com/qfpl/ban-instance/issues |
| Source repo | head: git clone https://github.com/qfpl/ban-instance |
| Downloads | 942 total (11 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs available [build log] Last success reported on 2026-03-31 [all 1 reports] |