A Haskell 98 logically uninhabited data type http://github.com/ekmett/void

Version on this page:0.7.2
LTS Haskell 15.15:0.7.3
Stackage Nightly 2020-06-06:0.7.3
Latest on Hackage:0.7.3

See all snapshots void appears in

BSD-3-Clause licensed by Edward A. Kmett
Maintained by Edward A. Kmett

Module documentation for 0.7.2

This version can be pinned in stack with:[email protected]:e07cd23407914833bc8bf726ad27fe4696c2e38685bc00031a2ca632230124ca,1527


Hackage Build Status

This package provides a canonical ‘uninhabited’ data type for Haskell. This arises in a surprisingly wide array of situations in practice.

Contact Information

Contributions and bug reports are welcome!

Please feel free to contact me through github or on the #haskell IRC channel on irc.freenode.net.

-Edward Kmett



  • Only depend on deepseq, hashable, and semigroups if using GHC 7.8 or earlier.
  • Cleaned up spurious “redundant constraint” warnings on GHC 8+


  • Support semigroups 0.17 on older GHCs
  • Backported NFData’s semigroup instance to older GHCs.


  • adapt to Data.Void being moved into base-4.8
  • vacuousM removed


  • instance Exception Void
  • instance Generic Void
  • instance Hashable Void


  • Fixed compatibility with GHC 7.2 (#6)
  • Added CHANGELOG.markdown and README.markdown