singletons-2.5.1: A framework for generating singleton types

Copyright | (C) 2013 Richard Eisenberg
License | BSD-style (see LICENSE)
Maintainer | Ryan Scott
Stability | experimental
Portability | non-portable
Safe Haskell | None
Language | Haskell2010

Data.Singletons.Prelude.Eq

Contents

- Defunctionalization symbols

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
  - (%==) :: forall (a :: k) (b :: k). Sing a -> Sing b -> Sing (a == b)
  - (%/=) :: forall (a :: k) (b :: k). Sing a -> Sing b -> Sing (a /= b)
- type family DefaultEq (a :: k) (b :: k) :: Bool where ...
- data (==@#@$) :: forall a6989586621679369249. (~>) a6989586621679369249 ((~>) a6989586621679369249 Bool)
- data (==@#@$$) (x6989586621679369250 :: a6989586621679369249) :: (~>) a6989586621679369249 Bool
- type (==@#@$$$) (x6989586621679369250 :: a6989586621679369249) (y6989586621679369251 :: a6989586621679369249) = (==) x6989586621679369250 y6989586621679369251
- data (/=@#@$) :: forall a6989586621679369249. (~>) a6989586621679369249 ((~>) a6989586621679369249 Bool)
- data (/=@#@$$) (x6989586621679369252 :: a6989586621679369249) :: (~>) a6989586621679369249 Bool
- type (/=@#@$$$) (x6989586621679369252 :: a6989586621679369249) (y6989586621679369253 :: a6989586621679369249) = (/=) x6989586621679369252 y6989586621679369253
- data DefaultEqSym0 :: forall k6989586621679369243. (~>) k6989586621679369243 ((~>) k6989586621679369243 Bool)
- data DefaultEqSym1 (a6989586621679369244 :: k6989586621679369243) :: (~>) k6989586621679369243 Bool
- type DefaultEqSym2 (a6989586621679369244 :: k6989586621679369243) (b6989586621679369245 :: k6989586621679369243) = DefaultEq a6989586621679369244 b6989586621679369245

# 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) :: Bool infix 4 Source #

Instances

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 (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

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

Boolean disequality on singletons

Instances

SEq Bool Source # |
Instance details Defined in Data.Singletons.Prelude.Eq Methods (%==) :: Sing a -> Sing b -> Sing (a == b) Source # (%/=) :: Sing a -> Sing b -> Sing (a /= b) Source #
SEq Ordering Source # |
Instance details Defined in Data.Singletons.Prelude.Eq Methods (%==) :: Sing a -> Sing b -> Sing (a == b) Source # (%/=) :: Sing a -> Sing b -> Sing (a /= b) Source #
SEq Nat Source # |
Instance details Defined in Data.Singletons.TypeLits.Internal Methods (%==) :: Sing a -> Sing b -> Sing (a == b) Source # (%/=) :: Sing a -> Sing b -> Sing (a /= b) Source #
SEq Symbol Source # |
Instance details Defined in Data.Singletons.TypeLits.Internal Methods (%==) :: Sing a -> Sing b -> Sing (a == b) Source # (%/=) :: Sing a -> Sing b -> Sing (a /= b) Source #
SEq () Source # |
Instance details Defined in Data.Singletons.Prelude.Eq Methods (%==) :: Sing a -> Sing b -> Sing (a == b) Source # (%/=) :: Sing a -> Sing b -> Sing (a /= b) Source #
SEq Void Source # |
Instance details Defined in Data.Singletons.Prelude.Eq Methods (%==) :: Sing a -> Sing b -> Sing (a == b) Source # (%/=) :: Sing a -> Sing b -> Sing (a /= b) Source #
SEq Bool => SEq All Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal Methods (%==) :: Sing a -> Sing b -> Sing (a == b) Source # (%/=) :: Sing a -> Sing b -> Sing (a /= b) Source #
SEq Bool => SEq Any Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal Methods (%==) :: Sing a -> Sing b -> Sing (a == b) Source # (%/=) :: Sing a -> Sing b -> Sing (a /= b) Source #
(SEq a, SEq [a]) => SEq [a] Source # |
Instance details Defined in Data.Singletons.Prelude.Eq Methods (%==) :: Sing a0 -> Sing b -> Sing (a0 == b) Source # (%/=) :: Sing a0 -> Sing b -> Sing (a0 /= b) Source #
SEq a => SEq (Maybe a) Source # |
Instance details Defined in Data.Singletons.Prelude.Eq Methods (%==) :: Sing a0 -> Sing b -> Sing (a0 == b) Source # (%/=) :: Sing a0 -> Sing b -> Sing (a0 /= b) Source #
SEq (TYPE rep) Source # |
Instance details Defined in Data.Singletons.TypeRepTYPE Methods (%==) :: Sing a -> Sing b -> Sing (a == b) Source # (%/=) :: Sing a -> Sing b -> Sing (a /= b) Source #
SEq a => SEq (Min a) Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal Methods (%==) :: Sing a0 -> Sing b -> Sing (a0 == b) Source # (%/=) :: Sing a0 -> Sing b -> Sing (a0 /= b) Source #
SEq a => SEq (Max a) Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal Methods (%==) :: Sing a0 -> Sing b -> Sing (a0 == b) Source # (%/=) :: Sing a0 -> Sing b -> Sing (a0 /= b) Source #
SEq a => SEq (First a) Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal Methods (%==) :: Sing a0 -> Sing b -> Sing (a0 == b) Source # (%/=) :: Sing a0 -> Sing b -> Sing (a0 /= b) Source #
SEq a => SEq (Last a) Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal Methods (%==) :: Sing a0 -> Sing b -> Sing (a0 == b) Source # (%/=) :: Sing a0 -> Sing b -> Sing (a0 /= b) Source #
SEq m => SEq (WrappedMonoid m) Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal Methods (%==) :: Sing a -> Sing b -> Sing (a == b) Source # (%/=) :: 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 (%==) :: Sing a0 -> Sing b -> Sing (a0 == b) Source # (%/=) :: Sing a0 -> Sing b -> Sing (a0 /= b) Source #
SEq a => SEq (Identity a) Source # |
Instance details Defined in Data.Singletons.Prelude.Eq Methods (%==) :: Sing a0 -> Sing b -> Sing (a0 == b) Source # (%/=) :: Sing a0 -> Sing b -> Sing (a0 /= b) Source #
SEq (Maybe a) => SEq (First a) Source # |
Instance details Defined in Data.Singletons.Prelude.Monoid Methods (%==) :: Sing a0 -> Sing b -> Sing (a0 == b) Source # (%/=) :: Sing a0 -> Sing b -> Sing (a0 /= b) Source #
SEq (Maybe a) => SEq (Last a) Source # |
Instance details Defined in Data.Singletons.Prelude.Monoid Methods (%==) :: Sing a0 -> Sing b -> Sing (a0 == b) Source # (%/=) :: Sing a0 -> Sing b -> Sing (a0 /= b) Source #
SEq a => SEq (Dual a) Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal Methods (%==) :: Sing a0 -> Sing b -> Sing (a0 == b) Source # (%/=) :: Sing a0 -> Sing b -> Sing (a0 /= b) Source #
SEq a => SEq (Sum a) Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal Methods (%==) :: Sing a0 -> Sing b -> Sing (a0 == b) Source # (%/=) :: Sing a0 -> Sing b -> Sing (a0 /= b) Source #
SEq a => SEq (Product a) Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup.Internal Methods (%==) :: Sing a0 -> Sing b -> Sing (a0 == b) Source # (%/=) :: Sing a0 -> Sing b -> Sing (a0 /= b) Source #
SEq a => SEq (Down a) Source # |
Instance details Defined in Data.Singletons.Prelude.Ord Methods (%==) :: Sing a0 -> Sing b -> Sing (a0 == b) Source # (%/=) :: 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 (%==) :: Sing a0 -> Sing b -> Sing (a0 == b) Source # (%/=) :: 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 (%==) :: Sing a0 -> Sing b0 -> Sing (a0 == b0) Source # (%/=) :: 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 (%==) :: Sing a0 -> Sing b0 -> Sing (a0 == b0) Source # (%/=) :: Sing a0 -> Sing b0 -> Sing (a0 /= b0) Source #
SEq a => SEq (Arg a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Semigroup Methods (%==) :: Sing a0 -> Sing b0 -> Sing (a0 == b0) Source # (%/=) :: Sing a0 -> Sing b0 -> Sing (a0 /= b0) Source #
(SEq a, SEq b, SEq c) => SEq (a, b, c) Source # |
Instance details Defined in Data.Singletons.Prelude.Eq Methods (%==) :: Sing a0 -> Sing b0 -> Sing (a0 == b0) Source # (%/=) :: Sing a0 -> Sing b0 -> Sing (a0 /= b0) Source #
SEq a => SEq (Const a b) Source # |
Instance details Defined in Data.Singletons.Prelude.Const Methods (%==) :: Sing a0 -> Sing b0 -> Sing (a0 == b0) Source # (%/=) :: 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 (%==) :: Sing a0 -> Sing b0 -> Sing (a0 == b0) Source # (%/=) :: 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 (%==) :: Sing a0 -> Sing b0 -> Sing (a0 == b0) Source # (%/=) :: 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 (%==) :: Sing a0 -> Sing b0 -> Sing (a0 == b0) Source # (%/=) :: 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 (%==) :: Sing a0 -> Sing b0 -> Sing (a0 == b0) Source # (%/=) :: Sing a0 -> Sing b0 -> Sing (a0 /= b0) Source #

type family DefaultEq (a :: k) (b :: k) :: Bool where ... Source #

A sensible way to compute Boolean equality for types of any kind. Note that this definition is slightly different from the '(DTE.==)' type family from Data.Type.Equality in `base`, as '(DTE.==)' 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 '(DTE.==)'.

Equations

DefaultEq a a = True |
DefaultEq a b = False |

# Defunctionalization symbols

data (==@#@$) :: forall a6989586621679369249. (~>) a6989586621679369249 ((~>) a6989586621679369249 Bool) infix 4 Source #

Instances

SEq a => SingI ((==@#@$) :: TyFun a (a ~> Bool) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Eq Methods sing :: Sing (==@#@$) Source #
SuppressUnusedWarnings ((==@#@$) :: TyFun a6989586621679369249 (a6989586621679369249 ~> Bool) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Eq Methods suppressUnusedWarnings :: () Source #
type Apply ((==@#@$) :: TyFun a6989586621679369249 (a6989586621679369249 ~> Bool) -> Type) (x6989586621679369250 :: a6989586621679369249) Source # |
Instance details Defined in Data.Singletons.Prelude.Eq type Apply ((==@#@$) :: TyFun a6989586621679369249 (a6989586621679369249 ~> Bool) -> Type) (x6989586621679369250 :: a6989586621679369249) = (==@#@$$) x6989586621679369250

data (==@#@$$) (x6989586621679369250 :: a6989586621679369249) :: (~>) a6989586621679369249 Bool infix 4 Source #

Instances

(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 ((==@#@$$) x6989586621679369250 :: TyFun a6989586621679369249 Bool -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Eq Methods suppressUnusedWarnings :: () Source #
type Apply ((==@#@$$) x6989586621679369250 :: TyFun a Bool -> Type) (y6989586621679369251 :: a) Source # |
Instance details Defined in Data.Singletons.Prelude.Eq type Apply ((==@#@$$) x6989586621679369250 :: TyFun a Bool -> Type) (y6989586621679369251 :: a) = x6989586621679369250 == y6989586621679369251

type (==@#@$$$) (x6989586621679369250 :: a6989586621679369249) (y6989586621679369251 :: a6989586621679369249) = (==) x6989586621679369250 y6989586621679369251 Source #

data (/=@#@$) :: forall a6989586621679369249. (~>) a6989586621679369249 ((~>) a6989586621679369249 Bool) infix 4 Source #

Instances

SEq a => SingI ((/=@#@$) :: TyFun a (a ~> Bool) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Eq Methods sing :: Sing (/=@#@$) Source #
SuppressUnusedWarnings ((/=@#@$) :: TyFun a6989586621679369249 (a6989586621679369249 ~> Bool) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Eq Methods suppressUnusedWarnings :: () Source #
type Apply ((/=@#@$) :: TyFun a6989586621679369249 (a6989586621679369249 ~> Bool) -> Type) (x6989586621679369252 :: a6989586621679369249) Source # |
Instance details Defined in Data.Singletons.Prelude.Eq type Apply ((/=@#@$) :: TyFun a6989586621679369249 (a6989586621679369249 ~> Bool) -> Type) (x6989586621679369252 :: a6989586621679369249) = (/=@#@$$) x6989586621679369252

data (/=@#@$$) (x6989586621679369252 :: a6989586621679369249) :: (~>) a6989586621679369249 Bool infix 4 Source #

Instances

(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 ((/=@#@$$) x6989586621679369252 :: TyFun a6989586621679369249 Bool -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Eq Methods suppressUnusedWarnings :: () Source #
type Apply ((/=@#@$$) x6989586621679369252 :: TyFun a Bool -> Type) (y6989586621679369253 :: a) Source # |
Instance details Defined in Data.Singletons.Prelude.Eq type Apply ((/=@#@$$) x6989586621679369252 :: TyFun a Bool -> Type) (y6989586621679369253 :: a) = x6989586621679369252 /= y6989586621679369253

type (/=@#@$$$) (x6989586621679369252 :: a6989586621679369249) (y6989586621679369253 :: a6989586621679369249) = (/=) x6989586621679369252 y6989586621679369253 Source #

data DefaultEqSym0 :: forall k6989586621679369243. (~>) k6989586621679369243 ((~>) k6989586621679369243 Bool) Source #

Instances

SuppressUnusedWarnings (DefaultEqSym0 :: TyFun k6989586621679369243 (k6989586621679369243 ~> Bool) -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Eq Methods suppressUnusedWarnings :: () Source #
type Apply (DefaultEqSym0 :: TyFun k6989586621679369243 (k6989586621679369243 ~> Bool) -> Type) (a6989586621679369244 :: k6989586621679369243) Source # |
Instance details Defined in Data.Singletons.Prelude.Eq type Apply (DefaultEqSym0 :: TyFun k6989586621679369243 (k6989586621679369243 ~> Bool) -> Type) (a6989586621679369244 :: k6989586621679369243) = DefaultEqSym1 a6989586621679369244

data DefaultEqSym1 (a6989586621679369244 :: k6989586621679369243) :: (~>) k6989586621679369243 Bool Source #

Instances

SuppressUnusedWarnings (DefaultEqSym1 a6989586621679369244 :: TyFun k6989586621679369243 Bool -> Type) Source # |
Instance details Defined in Data.Singletons.Prelude.Eq Methods suppressUnusedWarnings :: () Source #
type Apply (DefaultEqSym1 a6989586621679369244 :: TyFun k Bool -> Type) (b6989586621679369245 :: k) Source # |
Instance details Defined in Data.Singletons.Prelude.Eq type Apply (DefaultEqSym1 a6989586621679369244 :: TyFun k Bool -> Type) (b6989586621679369245 :: k) = DefaultEq a6989586621679369244 b6989586621679369245

type DefaultEqSym2 (a6989586621679369244 :: k6989586621679369243) (b6989586621679369245 :: k6989586621679369243) = DefaultEq a6989586621679369244 b6989586621679369245 Source #