singletons-1.0: A framework for generating singleton types

Copyright(C) 2008-2013 Edward Kmett
LicenseBSD-style (see LICENSE)
MaintainerRichard Eisenberg (eir@cis.upenn.edu)
Stabilityexperimental
Portabilitynon-portable
Safe HaskellTrustworthy
LanguageHaskell2010

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 
type Rep Void 

absurd :: Void -> a Source

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

vacuous :: Functor f => f Void -> f a Source

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

vacuousM :: Monad m => m Void -> m a Source

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