homepage: https://github.com/https://github.com/isovector/type-sets/tree/master/cmptype#readme
changelog-type: markdown
hash: ebce26f912cf6ff9434172fe8e47a78c66522e74286b05144997d63020d86b5d
test-bench-deps: {}
maintainer: sandy@sandymaguire.me
synopsis: Write plugins for magic type families with ease
changelog: |
  # Changelog for type-sets

  ## 0.1.0.0 --- 2019-08-05

  Initial release!

  ## Unreleased changes
basic-deps:
  ghc: ! '>=8.6.3 && <8.8'
  base: ! '>=4.7 && <5'
  syb: ! '>=0.7 && <0.8'
  ghc-tcplugins-extra: ! '>=0.3 && <0.4'
all-versions:
- 0.1.0.0
author: Sandy Maguire
latest: 0.1.0.0
description-type: markdown
description: |+
  # 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!


  ## 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/

license-name: BSD-3-Clause

Update from Hackage at 2019-08-05T22:02:14Z
Update from Hackage at 2019-08-05T22:02:14Z
