singletons-2.7: A framework for generating singleton types
Copyright(C) 2013 Richard Eisenberg
LicenseBSD-style (see LICENSE)
MaintainerRyan Scott
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Singletons.Prelude.Eq

Description

Defines the SEq singleton version of the Eq type class.

Synopsis
  • class PEq a where
    • type (x :: a) == (y :: a) :: Bool
    • type (x :: a) /= (y :: a) :: Bool
  • class SEq k where
  • type family DefaultEq a b where ...
  • data (==@#@$) a6989586621679370055
  • data a6989586621679370055 ==@#@$$ a6989586621679370056
  • type (==@#@$$$) (a6989586621679370055 :: a) (a6989586621679370056 :: a) = (==) a6989586621679370055 a6989586621679370056 :: Bool
  • data (/=@#@$) a6989586621679370058
  • data a6989586621679370058 /=@#@$$ a6989586621679370059
  • type (/=@#@$$$) (a6989586621679370058 :: a) (a6989586621679370059 :: a) = (/=) a6989586621679370058 a6989586621679370059 :: Bool
  • data DefaultEqSym0 a6989586621679370061
  • data DefaultEqSym1 a6989586621679370061 a6989586621679370062
  • type DefaultEqSym2 (a6989586621679370061 :: k) (a6989586621679370062 :: k) = DefaultEq a6989586621679370061 a6989586621679370062 :: Bool

Documentation

class PEq a Source #

The promoted analogue of Eq. If you supply no definition for (==), then it defaults to a use of DefaultEq.

Associated Types

type (x :: a) == (y :: a) :: Bool infix 4 Source #

type (x :: a) == (y :: a) = x `DefaultEq` y

type (x :: a) /= (y :: a) :: Bool infix 4 Source #

type (x :: a) /= (y :: a) = Not (x == y)

Instances

Instances details
PEq Bool Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq Ordering Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq Nat Source # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq Symbol Source # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq () Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq Void Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq All Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq Any Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq [a] Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (Maybe a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (TYPE rep) Source # 
Instance details

Defined in Data.Singletons.TypeRepTYPE

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (WrappedMonoid m) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (Option a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (Identity a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (Dual a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (Sum a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (Product a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (Down a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (NonEmpty a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (Either a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (a, b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (Arg a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (Proxy s) Source # 
Instance details

Defined in Data.Singletons.Prelude.Proxy

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (a, b, c) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (Const a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (a, b, c, d) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (a, b, c, d, e) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (a, b, c, d, e, f) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

PEq (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Associated Types

type x == y :: Bool Source #

type x /= y :: Bool Source #

class SEq k where Source #

The singleton analogue of Eq. Unlike the definition for Eq, it is required that instances define a body for (%==). You may also supply a body for (%/=).

Minimal complete definition

(%==)

Methods

(%==) :: forall (a :: k) (b :: k). Sing a -> Sing b -> Sing (a == b) infix 4 Source #

Boolean equality on singletons

(%/=) :: forall (a :: k) (b :: k). Sing a -> Sing b -> Sing (a /= b) infix 4 Source #

Boolean disequality on singletons

default (%/=) :: forall (a :: k) (b :: k). (a /= b) ~ Not (a == b) => Sing a -> Sing b -> Sing (a /= b) Source #

Instances

Instances details
SEq Bool Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Methods

(%==) :: forall (a :: Bool) (b :: Bool). Sing a -> Sing b -> Sing (a == b) Source #

(%/=) :: forall (a :: Bool) (b :: Bool). Sing a -> Sing b -> Sing (a /= b) Source #

SEq Ordering Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Methods

(%==) :: forall (a :: Ordering) (b :: Ordering). Sing a -> Sing b -> Sing (a == b) Source #

(%/=) :: forall (a :: Ordering) (b :: Ordering). Sing a -> Sing b -> Sing (a /= b) Source #

SEq Nat Source # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Methods

(%==) :: forall (a :: Nat) (b :: Nat). Sing a -> Sing b -> Sing (a == b) Source #

(%/=) :: forall (a :: Nat) (b :: Nat). Sing a -> Sing b -> Sing (a /= b) Source #

SEq Symbol Source # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Methods

(%==) :: forall (a :: Symbol) (b :: Symbol). Sing a -> Sing b -> Sing (a == b) Source #

(%/=) :: forall (a :: Symbol) (b :: Symbol). Sing a -> Sing b -> Sing (a /= b) Source #

SEq () Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Methods

(%==) :: forall (a :: ()) (b :: ()). Sing a -> Sing b -> Sing (a == b) Source #

(%/=) :: forall (a :: ()) (b :: ()). Sing a -> Sing b -> Sing (a /= b) Source #

SEq Void Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Methods

(%==) :: forall (a :: Void) (b :: Void). Sing a -> Sing b -> Sing (a == b) Source #

(%/=) :: forall (a :: Void) (b :: Void). Sing a -> Sing b -> Sing (a /= b) Source #

SEq Bool => SEq All Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%==) :: forall (a :: All) (b :: All). Sing a -> Sing b -> Sing (a == b) Source #

(%/=) :: forall (a :: All) (b :: All). Sing a -> Sing b -> Sing (a /= b) Source #

SEq Bool => SEq Any Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%==) :: forall (a :: Any) (b :: Any). Sing a -> Sing b -> Sing (a == b) Source #

(%/=) :: forall (a :: Any) (b :: Any). Sing a -> Sing b -> Sing (a /= b) Source #

(SEq a, SEq [a]) => SEq [a] Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Methods

(%==) :: forall (a0 :: [a]) (b :: [a]). Sing a0 -> Sing b -> Sing (a0 == b) Source #

(%/=) :: forall (a0 :: [a]) (b :: [a]). Sing a0 -> Sing b -> Sing (a0 /= b) Source #

SEq a => SEq (Maybe a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Methods

(%==) :: forall (a0 :: Maybe a) (b :: Maybe a). Sing a0 -> Sing b -> Sing (a0 == b) Source #

(%/=) :: forall (a0 :: Maybe a) (b :: Maybe a). Sing a0 -> Sing b -> Sing (a0 /= b) Source #

SEq (TYPE rep) Source # 
Instance details

Defined in Data.Singletons.TypeRepTYPE

Methods

(%==) :: forall (a :: TYPE rep) (b :: TYPE rep). Sing a -> Sing b -> Sing (a == b) Source #

(%/=) :: forall (a :: TYPE rep) (b :: TYPE rep). Sing a -> Sing b -> Sing (a /= b) Source #

SEq a => SEq (Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%==) :: forall (a0 :: Min a) (b :: Min a). Sing a0 -> Sing b -> Sing (a0 == b) Source #

(%/=) :: forall (a0 :: Min a) (b :: Min a). Sing a0 -> Sing b -> Sing (a0 /= b) Source #

SEq a => SEq (Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%==) :: forall (a0 :: Max a) (b :: Max a). Sing a0 -> Sing b -> Sing (a0 == b) Source #

(%/=) :: forall (a0 :: Max a) (b :: Max a). Sing a0 -> Sing b -> Sing (a0 /= b) Source #

SEq a => SEq (First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%==) :: forall (a0 :: First a) (b :: First a). Sing a0 -> Sing b -> Sing (a0 == b) Source #

(%/=) :: forall (a0 :: First a) (b :: First a). Sing a0 -> Sing b -> Sing (a0 /= b) Source #

SEq a => SEq (Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%==) :: forall (a0 :: Last a) (b :: Last a). Sing a0 -> Sing b -> Sing (a0 == b) Source #

(%/=) :: forall (a0 :: Last a) (b :: Last a). Sing a0 -> Sing b -> Sing (a0 /= b) Source #

SEq m => SEq (WrappedMonoid m) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%==) :: forall (a :: WrappedMonoid m) (b :: WrappedMonoid m). Sing a -> Sing b -> Sing (a == b) Source #

(%/=) :: forall (a :: WrappedMonoid m) (b :: WrappedMonoid m). Sing a -> Sing b -> Sing (a /= b) Source #

SEq (Maybe a) => SEq (Option a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%==) :: forall (a0 :: Option a) (b :: Option a). Sing a0 -> Sing b -> Sing (a0 == b) Source #

(%/=) :: forall (a0 :: Option a) (b :: Option a). Sing a0 -> Sing b -> Sing (a0 /= b) Source #

SEq a => SEq (Identity a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Methods

(%==) :: forall (a0 :: Identity a) (b :: Identity a). Sing a0 -> Sing b -> Sing (a0 == b) Source #

(%/=) :: forall (a0 :: Identity a) (b :: Identity a). Sing a0 -> Sing b -> Sing (a0 /= b) Source #

SEq (Maybe a) => SEq (First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Methods

(%==) :: forall (a0 :: First a) (b :: First a). Sing a0 -> Sing b -> Sing (a0 == b) Source #

(%/=) :: forall (a0 :: First a) (b :: First a). Sing a0 -> Sing b -> Sing (a0 /= b) Source #

SEq (Maybe a) => SEq (Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Methods

(%==) :: forall (a0 :: Last a) (b :: Last a). Sing a0 -> Sing b -> Sing (a0 == b) Source #

(%/=) :: forall (a0 :: Last a) (b :: Last a). Sing a0 -> Sing b -> Sing (a0 /= b) Source #

SEq a => SEq (Dual a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%==) :: forall (a0 :: Dual a) (b :: Dual a). Sing a0 -> Sing b -> Sing (a0 == b) Source #

(%/=) :: forall (a0 :: Dual a) (b :: Dual a). Sing a0 -> Sing b -> Sing (a0 /= b) Source #

SEq a => SEq (Sum a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%==) :: forall (a0 :: Sum a) (b :: Sum a). Sing a0 -> Sing b -> Sing (a0 == b) Source #

(%/=) :: forall (a0 :: Sum a) (b :: Sum a). Sing a0 -> Sing b -> Sing (a0 /= b) Source #

SEq a => SEq (Product a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%==) :: forall (a0 :: Product a) (b :: Product a). Sing a0 -> Sing b -> Sing (a0 == b) Source #

(%/=) :: forall (a0 :: Product a) (b :: Product a). Sing a0 -> Sing b -> Sing (a0 /= b) Source #

SEq a => SEq (Down a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

(%==) :: forall (a0 :: Down a) (b :: Down a). Sing a0 -> Sing b -> Sing (a0 == b) Source #

(%/=) :: forall (a0 :: Down a) (b :: Down a). Sing a0 -> Sing b -> Sing (a0 /= b) Source #

(SEq a, SEq [a]) => SEq (NonEmpty a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Methods

(%==) :: forall (a0 :: NonEmpty a) (b :: NonEmpty a). Sing a0 -> Sing b -> Sing (a0 == b) Source #

(%/=) :: forall (a0 :: NonEmpty a) (b :: NonEmpty a). Sing a0 -> Sing b -> Sing (a0 /= b) Source #

(SEq a, SEq b) => SEq (Either a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Methods

(%==) :: forall (a0 :: Either a b) (b0 :: Either a b). Sing a0 -> Sing b0 -> Sing (a0 == b0) Source #

(%/=) :: forall (a0 :: Either a b) (b0 :: Either a b). Sing a0 -> Sing b0 -> Sing (a0 /= b0) Source #

(SEq a, SEq b) => SEq (a, b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Methods

(%==) :: forall (a0 :: (a, b)) (b0 :: (a, b)). Sing a0 -> Sing b0 -> Sing (a0 == b0) Source #

(%/=) :: forall (a0 :: (a, b)) (b0 :: (a, b)). Sing a0 -> Sing b0 -> Sing (a0 /= b0) Source #

SEq a => SEq (Arg a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

(%==) :: forall (a0 :: Arg a b) (b0 :: Arg a b). Sing a0 -> Sing b0 -> Sing (a0 == b0) Source #

(%/=) :: forall (a0 :: Arg a b) (b0 :: Arg a b). Sing a0 -> Sing b0 -> Sing (a0 /= b0) Source #

SEq (Proxy s) Source # 
Instance details

Defined in Data.Singletons.Prelude.Proxy

Methods

(%==) :: forall (a :: Proxy s) (b :: Proxy s). Sing a -> Sing b -> Sing (a == b) Source #

(%/=) :: forall (a :: Proxy s) (b :: Proxy s). Sing a -> Sing b -> Sing (a /= b) Source #

(SEq a, SEq b, SEq c) => SEq (a, b, c) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Methods

(%==) :: forall (a0 :: (a, b, c)) (b0 :: (a, b, c)). Sing a0 -> Sing b0 -> Sing (a0 == b0) Source #

(%/=) :: forall (a0 :: (a, b, c)) (b0 :: (a, b, c)). Sing a0 -> Sing b0 -> Sing (a0 /= b0) Source #

SEq a => SEq (Const a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

Methods

(%==) :: forall (a0 :: Const a b) (b0 :: Const a b). Sing a0 -> Sing b0 -> Sing (a0 == b0) Source #

(%/=) :: forall (a0 :: Const a b) (b0 :: Const a b). Sing a0 -> Sing b0 -> Sing (a0 /= b0) Source #

(SEq a, SEq b, SEq c, SEq d) => SEq (a, b, c, d) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Methods

(%==) :: forall (a0 :: (a, b, c, d)) (b0 :: (a, b, c, d)). Sing a0 -> Sing b0 -> Sing (a0 == b0) Source #

(%/=) :: forall (a0 :: (a, b, c, d)) (b0 :: (a, b, c, d)). Sing a0 -> Sing b0 -> Sing (a0 /= b0) Source #

(SEq a, SEq b, SEq c, SEq d, SEq e) => SEq (a, b, c, d, e) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Methods

(%==) :: forall (a0 :: (a, b, c, d, e)) (b0 :: (a, b, c, d, e)). Sing a0 -> Sing b0 -> Sing (a0 == b0) Source #

(%/=) :: forall (a0 :: (a, b, c, d, e)) (b0 :: (a, b, c, d, e)). Sing a0 -> Sing b0 -> Sing (a0 /= b0) Source #

(SEq a, SEq b, SEq c, SEq d, SEq e, SEq f) => SEq (a, b, c, d, e, f) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Methods

(%==) :: forall (a0 :: (a, b, c, d, e, f)) (b0 :: (a, b, c, d, e, f)). Sing a0 -> Sing b0 -> Sing (a0 == b0) Source #

(%/=) :: forall (a0 :: (a, b, c, d, e, f)) (b0 :: (a, b, c, d, e, f)). Sing a0 -> Sing b0 -> Sing (a0 /= b0) Source #

(SEq a, SEq b, SEq c, SEq d, SEq e, SEq f, SEq g) => SEq (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Methods

(%==) :: forall (a0 :: (a, b, c, d, e, f, g)) (b0 :: (a, b, c, d, e, f, g)). Sing a0 -> Sing b0 -> Sing (a0 == b0) Source #

(%/=) :: forall (a0 :: (a, b, c, d, e, f, g)) (b0 :: (a, b, c, d, e, f, g)). Sing a0 -> Sing b0 -> Sing (a0 /= b0) Source #

type family DefaultEq a b where ... Source #

A sensible way to compute Boolean equality for types of any kind. Note that this definition is slightly different from the (==) type family from Data.Type.Equality in base, as (==) attempts to distinguish applications of type constructors from other types. As a result, a == a does not reduce to True for every a, but DefaultEq a a does reduce to True for every a. The latter behavior is more desirable for singletons' purposes, so we use it instead of (==).

Equations

DefaultEq a a = 'True 
DefaultEq a b = 'False 

Defunctionalization symbols

data (==@#@$) a6989586621679370055 infix 4 Source #

Instances

Instances details
SEq a => SingI ((==@#@$) :: TyFun a (a ~> Bool) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

SuppressUnusedWarnings ((==@#@$) :: TyFun a (a ~> Bool) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

type Apply ((==@#@$) :: TyFun a (a ~> Bool) -> Type) (a6989586621679370055 :: a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

type Apply ((==@#@$) :: TyFun a (a ~> Bool) -> Type) (a6989586621679370055 :: a) = (==@#@$$) a6989586621679370055

data a6989586621679370055 ==@#@$$ a6989586621679370056 infix 4 Source #

Instances

Instances details
(SEq a, SingI x) => SingI ((==@#@$$) x :: TyFun a Bool -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Methods

sing :: Sing ((==@#@$$) x) Source #

SuppressUnusedWarnings ((==@#@$$) a6989586621679370055 :: TyFun a Bool -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

type Apply ((==@#@$$) a6989586621679370055 :: TyFun a Bool -> Type) (a6989586621679370056 :: a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

type Apply ((==@#@$$) a6989586621679370055 :: TyFun a Bool -> Type) (a6989586621679370056 :: a) = a6989586621679370055 ==@#@$$$ a6989586621679370056

type (==@#@$$$) (a6989586621679370055 :: a) (a6989586621679370056 :: a) = (==) a6989586621679370055 a6989586621679370056 :: Bool infix 4 Source #

data (/=@#@$) a6989586621679370058 infix 4 Source #

Instances

Instances details
SEq a => SingI ((/=@#@$) :: TyFun a (a ~> Bool) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

SuppressUnusedWarnings ((/=@#@$) :: TyFun a (a ~> Bool) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

type Apply ((/=@#@$) :: TyFun a (a ~> Bool) -> Type) (a6989586621679370058 :: a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

type Apply ((/=@#@$) :: TyFun a (a ~> Bool) -> Type) (a6989586621679370058 :: a) = (/=@#@$$) a6989586621679370058

data a6989586621679370058 /=@#@$$ a6989586621679370059 infix 4 Source #

Instances

Instances details
(SEq a, SingI x) => SingI ((/=@#@$$) x :: TyFun a Bool -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

Methods

sing :: Sing ((/=@#@$$) x) Source #

SuppressUnusedWarnings ((/=@#@$$) a6989586621679370058 :: TyFun a Bool -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

type Apply ((/=@#@$$) a6989586621679370058 :: TyFun a Bool -> Type) (a6989586621679370059 :: a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

type Apply ((/=@#@$$) a6989586621679370058 :: TyFun a Bool -> Type) (a6989586621679370059 :: a) = a6989586621679370058 /=@#@$$$ a6989586621679370059

type (/=@#@$$$) (a6989586621679370058 :: a) (a6989586621679370059 :: a) = (/=) a6989586621679370058 a6989586621679370059 :: Bool infix 4 Source #

data DefaultEqSym0 a6989586621679370061 Source #

Instances

Instances details
SuppressUnusedWarnings (DefaultEqSym0 :: TyFun k (k ~> Bool) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

type Apply (DefaultEqSym0 :: TyFun k (k ~> Bool) -> Type) (a6989586621679370061 :: k) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

type Apply (DefaultEqSym0 :: TyFun k (k ~> Bool) -> Type) (a6989586621679370061 :: k) = DefaultEqSym1 a6989586621679370061

data DefaultEqSym1 a6989586621679370061 a6989586621679370062 Source #

Instances

Instances details
SuppressUnusedWarnings (DefaultEqSym1 a6989586621679370061 :: TyFun k Bool -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

type Apply (DefaultEqSym1 a6989586621679370061 :: TyFun k Bool -> Type) (a6989586621679370062 :: k) Source # 
Instance details

Defined in Data.Singletons.Prelude.Eq

type Apply (DefaultEqSym1 a6989586621679370061 :: TyFun k Bool -> Type) (a6989586621679370062 :: k) = DefaultEqSym2 a6989586621679370061 a6989586621679370062

type DefaultEqSym2 (a6989586621679370061 :: k) (a6989586621679370062 :: k) = DefaultEq a6989586621679370061 a6989586621679370062 :: Bool Source #