singletons-0.9.3: A framework for generating singleton types

Copyright(C) 2008-2013 Edward Kmett
License(C) 2008-2013 Edward Kmett
MaintainerRichard Eisenberg (eir@cis.upenn.edu)
Stabilityexperimental
Portabilitynon-portable
Safe HaskellTrustworthy

Data.Singletons.Void

Description

This module is a reimplementation of Edward Kmett's void package. It is included within singletons to avoid depending on void and all the packages that depends on (including text). If this causes problems for you (that singletons has its own Void type), please let me (Richard Eisenberg) know at eir at cis.upenn.edu.

Synopsis

Documentation

data Void Source

A logically uninhabited data type.

Instances

Eq Void 
Data Void 
Ord Void 
Read Void

Reading a Void value is always a parse error, considering Void as a data type with no constructors.

Show Void 
Ix Void 
Generic Void 
Exception Void 
Typeable * Void 

absurd :: Void -> aSource

Since Void values logically don't exist, this witnesses the logical reasoning tool of "ex falso quodlibet".

vacuous :: Functor f => f Void -> f aSource

If Void is uninhabited then any Functor that holds only values of type Void is holding no values.

vacuousM :: Monad m => m Void -> m aSource

If Void is uninhabited then any Monad that holds values of type Void is holding no values.