trivial-constraint-0.5.1.0: Constraints that any type, resp. no type fulfills

Copyright(c) 2014-2016 Justus Sagemüller
LicenseGPL v3 (see LICENSE)
Maintainer(@) jsagemue $ uni-koeln.de
Safe HaskellSafe
LanguageHaskell2010

Data.Constraint.Trivial

Description

 
Synopsis

Documentation

class Unconstrained t Source #

Intended to be used as an argument for some type constructor which expects kind k -> Constraint, when you do not actually wish to constrain anything with it.

Unconstrained t can always be added to the constraint list of any signature, without changing anything.

Instances
Unconstrained (t :: k) Source # 
Instance details

Defined in Data.Constraint.Trivial

class TypeError (Disallowed "Impossible") => Impossible t where Source #

This constraint can never be fulfilled. Might be useful e.g. as a default for a class-associated constraint; this basically disables any method with that constraint (so it can safely be left undefined).

Methods

absurdible :: proxy t -> a Source #

Ex falso quodlibet. If you have Impossible t, you can do anything.

Might be useful e.g. if you are inside a function wiht an Impossible t => constraint, and you want to do something impossible, like the constraint implies.

Analogous to absurd.

class Unconstrained2 t s Source #

Like Unconstrained, but with kind signature k -> k -> Constraint (two unconstrained types).

Instances
Unconstrained2 (t :: k2) (s :: k1) Source # 
Instance details

Defined in Data.Constraint.Trivial

class TypeError (Disallowed "Impossible2") => Impossible2 t s where Source #

Methods

absurdible2 :: proxy t -> proxy s -> a Source #

class Unconstrained3 t s r Source #

Instances
Unconstrained3 (t :: k3) (s :: k2) (r :: k1) Source # 
Instance details

Defined in Data.Constraint.Trivial

class TypeError (Disallowed "Impossible3") => Impossible3 t s r where Source #

Methods

absurdible3 :: proxy t -> proxy s -> proxy r -> a Source #

class Unconstrained4 t s r q Source #

Instances
Unconstrained4 (t :: k4) (s :: k3) (r :: k2) (q :: k1) Source # 
Instance details

Defined in Data.Constraint.Trivial

class TypeError (Disallowed "Impossible4") => Impossible4 t s r q where Source #

Methods

absurdible4 :: proxy t -> proxy s -> proxy r -> proxy q -> a Source #

class Unconstrained5 t s r q p Source #

Instances
Unconstrained5 (t :: k5) (s :: k4) (r :: k3) (q :: k2) (p :: k1) Source # 
Instance details

Defined in Data.Constraint.Trivial

class TypeError (Disallowed "Impossible5") => Impossible5 t s r q p where Source #

Methods

absurdible5 :: proxy t -> proxy s -> proxy r -> proxy q -> proxy p -> a Source #

class Unconstrained6 t s r q p o Source #

Instances
Unconstrained6 (t :: k6) (s :: k5) (r :: k4) (q :: k3) (p :: k2) (o :: k1) Source # 
Instance details

Defined in Data.Constraint.Trivial

class TypeError (Disallowed "Impossible6") => Impossible6 t s r q p o where Source #

Methods

absurdible6 :: proxy t -> proxy s -> proxy r -> proxy q -> proxy p -> proxy o -> a Source #

class Unconstrained7 t s r q p o n Source #

Instances
Unconstrained7 (t :: k7) (s :: k6) (r :: k5) (q :: k4) (p :: k3) (o :: k2) (n :: k1) Source # 
Instance details

Defined in Data.Constraint.Trivial

class TypeError (Disallowed "Impossible7") => Impossible7 t s r q p o n where Source #

Methods

absurdible7 :: proxy t -> proxy s -> proxy r -> proxy q -> proxy p -> proxy o -> proxy n -> a Source #

class Unconstrained8 t s r q p o n m Source #

Instances
Unconstrained8 (t :: k8) (s :: k7) (r :: k6) (q :: k5) (p :: k4) (o :: k3) (n :: k2) (m :: k1) Source # 
Instance details

Defined in Data.Constraint.Trivial

class TypeError (Disallowed "Impossible8") => Impossible8 t s r q p o n m where Source #

Methods

absurdible8 :: proxy t -> proxy s -> proxy r -> proxy q -> proxy p -> proxy o -> proxy n -> proxy m -> a Source #

class Unconstrained9 t s r q p o n m l Source #

Instances
Unconstrained9 (t :: k9) (s :: k8) (r :: k7) (q :: k6) (p :: k5) (o :: k4) (n :: k3) (m :: k2) (l :: k1) Source # 
Instance details

Defined in Data.Constraint.Trivial

class TypeError (Disallowed "Impossible9") => Impossible9 t s r q p o n m l where Source #

Methods

absurdible9 :: proxy t -> proxy s -> proxy r -> proxy q -> proxy p -> proxy o -> proxy n -> proxy m -> proxy l -> a Source #