cmptype-0.1.0.0: README.md
# cmptype
[](https://hackage.haskell.org/package/cmptype)
## Dedication
> Comparison is an act of violence against the self.
>
> --Iyanla Vanzant
## Overview
`cmptype` provides a magical type family that lets you compare types:
```haskell
type family CmpType (a :: k) (b :: k) :: Ordering
```
When you turn on the `-fplugin=Type.Compare.Plugin` flag, it will let you
compare arbitrary types. Why would you want such a thing? Probably because you
want to write a [type-level container that isn't a fucking list][type-sets]!
[type-sets]: https://github.com/isovector/type-sets
## Acknowledgments
Big thanks to [Boris Rozinov][oofp] for the initial idea, and for making as much
coffee as I could drink while I wrote it. Also thanks to [Christiaan
Baaij][chistiaanb] and [Matt Pickering][mpickering] for their indispensable help
convincing GHC to do the right thing here.
[oofp]: https://github.com/oofp
[chistiaanb]: https://christiaanb.github.io/
[mpickering]: http://mpickering.github.io/