Data.Void

base-4.8.2.0: Basic libraries

Copyright | (C) 2008-2014 Edward Kmett
License | BSD-style (see the file libraries/base/LICENSE)
Maintainer | Edward Kmett <ekmett@gmail.com>
Stability | provisional
Portability | portable
Safe Haskell | Safe
Language | Haskell2010

Data.Void

Description

A logically uninhabited data type, used to indicate that a given term should not exist.

Since: 4.8.0.0

Synopsis

- data Void
- absurd :: Void -> a
- vacuous :: Functor f => f Void -> f a

# Documentation

data Void

Uninhabited data type

Since: 4.8.0.0

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

absurd :: Void -> a

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

Since: 4.8.0.0

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

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

Since: 4.8.0.0