singletons-2.5.1: A framework for generating singleton types

Copyright(C) 2018 Ryan Scott
LicenseBSD-style (see LICENSE)
MaintainerRyan Scott
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Singletons.Prelude.Semigroup

Contents

Description

Defines the promoted version of Semigroup, PSemigroup, and the singleton version, SSemigroup.

Synopsis

Documentation

class PSemigroup (a :: Type) #

Associated Types

type (arg :: a) <> (arg :: a) :: a infixr 6 #

type Sconcat (arg :: NonEmpty a) :: a #

Instances
PSemigroup Ordering # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup Symbol # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup () # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup Void # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup All # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup Any # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup [a] # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (Maybe a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (Min a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (Max a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (First a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (Last a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (WrappedMonoid m) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (Option a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (Identity a) # 
Instance details

Defined in Data.Singletons.Prelude.Identity

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (First a) # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (Last a) # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (Dual a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (Sum a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (Product a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (Down a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (NonEmpty a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (Either a b) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (a, b) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (a ~> b) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (a, b, c) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (Const a b) # 
Instance details

Defined in Data.Singletons.Prelude.Const

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (a, b, c, d) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (a, b, c, d, e) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

class SSemigroup a where #

Minimal complete definition

(%<>)

Methods

(%<>) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t :: a) infixr 6 #

sSconcat :: forall (t :: NonEmpty a). Sing t -> Sing (Apply SconcatSym0 t :: a) #

sSconcat :: forall (t :: NonEmpty a). (Apply SconcatSym0 t :: a) ~ Apply Sconcat_6989586621679833722Sym0 t => Sing t -> Sing (Apply SconcatSym0 t :: a) #

Instances
SSemigroup Ordering # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SSemigroup Symbol # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SSemigroup () # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SSemigroup Void # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SSemigroup All # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SSemigroup Any # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SSemigroup [a] # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SSemigroup a => SSemigroup (Maybe a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SOrd a => SSemigroup (Min a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SOrd a => SSemigroup (Max a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SSemigroup (First a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SSemigroup (Last a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SMonoid m => SSemigroup (WrappedMonoid m) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SSemigroup a => SSemigroup (Option a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SSemigroup a => SSemigroup (Identity a) # 
Instance details

Defined in Data.Singletons.Prelude.Identity

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SSemigroup (First a) # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SSemigroup (Last a) # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SSemigroup a => SSemigroup (Dual a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SNum a => SSemigroup (Sum a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SNum a => SSemigroup (Product a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SSemigroup a => SSemigroup (Down a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SSemigroup (NonEmpty a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SSemigroup (Either a b) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

(SSemigroup a, SSemigroup b) => SSemigroup (a, b) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SSemigroup b => SSemigroup (a ~> b) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

(SSemigroup a, SSemigroup b, SSemigroup c) => SSemigroup (a, b, c) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SSemigroup a => SSemigroup (Const a b) # 
Instance details

Defined in Data.Singletons.Prelude.Const

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

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

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

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

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

data family Sing :: k -> Type #

The singleton kind-indexed data family.

Instances
SDecide k => TestCoercion (Sing :: k -> Type) # 
Instance details

Defined in Data.Singletons.Decide

Methods

testCoercion :: Sing a -> Sing b -> Maybe (Coercion a b) #

SDecide k => TestEquality (Sing :: k -> Type) # 
Instance details

Defined in Data.Singletons.Decide

Methods

testEquality :: Sing a -> Sing b -> Maybe (a :~: b) #

Show (SSymbol s) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> SSymbol s -> ShowS #

show :: SSymbol s -> String #

showList :: [SSymbol s] -> ShowS #

Show (SNat n) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> SNat n -> ShowS #

show :: SNat n -> String #

showList :: [SNat n] -> ShowS #

Eq (Sing a) # 
Instance details

Defined in Data.Singletons.TypeRepTYPE

Methods

(==) :: Sing a -> Sing a -> Bool #

(/=) :: Sing a -> Sing a -> Bool #

Ord (Sing a) # 
Instance details

Defined in Data.Singletons.TypeRepTYPE

Methods

compare :: Sing a -> Sing a -> Ordering #

(<) :: Sing a -> Sing a -> Bool #

(<=) :: Sing a -> Sing a -> Bool #

(>) :: Sing a -> Sing a -> Bool #

(>=) :: Sing a -> Sing a -> Bool #

max :: Sing a -> Sing a -> Sing a #

min :: Sing a -> Sing a -> Sing a #

Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing [a]) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

Show (Sing a) # 
Instance details

Defined in Data.Singletons.TypeRepTYPE

Methods

showsPrec :: Int -> Sing a -> ShowS #

show :: Sing a -> String #

showList :: [Sing a] -> ShowS #

Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b, ShowSing c) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b, ShowSing c, ShowSing d) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b, ShowSing c, ShowSing d, ShowSing e) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b, ShowSing c, ShowSing d, ShowSing e, ShowSing f) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b, ShowSing c, ShowSing d, ShowSing e, ShowSing f, ShowSing g) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing m => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing (Maybe a) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing (Maybe a) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing (Maybe a) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing Bool => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing Bool => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing [a]) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

data Sing (a :: Bool) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (a :: Bool) where
data Sing (a :: Ordering) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (a :: Ordering) where
data Sing (n :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

data Sing (n :: Nat) where
data Sing (n :: Symbol) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

data Sing (n :: Symbol) where
data Sing (a :: ()) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (a :: ()) where
data Sing (a :: Void) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (a :: Void)
data Sing (a :: All) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (a :: All) where
data Sing (a :: Any) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (a :: Any) where
data Sing (a :: PErrorMessage) # 
Instance details

Defined in Data.Singletons.TypeError

data Sing (a :: PErrorMessage) where
data Sing (b :: [a]) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (b :: [a]) where
  • SNil :: forall k (b :: [k]). Sing ([] :: [k])
  • SCons :: forall a (b :: [a]) (n :: a) (n :: [a]). Sing n -> Sing n -> Sing (n ': n)
data Sing (b :: Maybe a) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (b :: Maybe a) where
newtype Sing (a :: TYPE rep) #

A choice of singleton for the kind TYPE rep (for some RuntimeRep rep), an instantiation of which is the famous kind Type.

Conceivably, one could generalize this instance to `Sing :: k -> Type` for any kind k, and remove all other Sing instances. We don't adopt this design, however, since it is far more convenient in practice to work with explicit singleton values than TypeReps (for instance, TypeReps are more difficult to pattern match on, and require extra runtime checks).

We cannot produce explicit singleton values for everything in TYPE rep, however, since it is an open kind, so we reach for TypeRep in this one particular case.

Instance details

Defined in Data.Singletons.TypeRepTYPE

newtype Sing (a :: TYPE rep) = STypeRep (TypeRep a)
data Sing (b :: Min a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: Min a) where
data Sing (b :: Max a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: Max a) where
data Sing (b :: First a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: First a) where
data Sing (b :: Last a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: Last a) where
data Sing (a :: WrappedMonoid m) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (a :: WrappedMonoid m) where
data Sing (b :: Option a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: Option a) where
data Sing (b :: Identity a) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (b :: Identity a) where
data Sing (b :: First a) # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

data Sing (b :: First a) where
data Sing (b :: Last a) # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

data Sing (b :: Last a) where
data Sing (b :: Dual a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: Dual a) where
data Sing (b :: Sum a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: Sum a) where
data Sing (b :: Product a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: Product a) where
data Sing (b :: Down a) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

data Sing (b :: Down a) where
data Sing (b :: NonEmpty a) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (b :: NonEmpty a) where
data Sing (c :: Either a b) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (c :: Either a b) where
data Sing (c :: (a, b)) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (c :: (a, b)) where
data Sing (c :: Arg a b) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

data Sing (c :: Arg a b) where
newtype Sing (f :: k1 ~> k2) # 
Instance details

Defined in Data.Singletons.Internal

newtype Sing (f :: k1 ~> k2) = SLambda {}
data Sing (d :: (a, b, c)) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (d :: (a, b, c)) where
data Sing (c :: Const a b) # 
Instance details

Defined in Data.Singletons.Prelude.Const

data Sing (c :: Const a b) where
data Sing (e :: (a, b, c, d)) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (e :: (a, b, c, d)) where
data Sing (f :: (a, b, c, d, e)) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (f :: (a, b, c, d, e)) where
data Sing (g :: (a, b, c, d, e, f)) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (g :: (a, b, c, d, e, f)) where
data Sing (h :: (a, b, c, d, e, f, g)) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (h :: (a, b, c, d, e, f, g)) where

type family GetMin (a :: Min a) :: a where ... #

Equations

GetMin (Min field) = field 

type family GetMax (a :: Max a) :: a where ... #

Equations

GetMax (Max field) = field 

type family GetFirst (a :: First a) :: a where ... #

Equations

GetFirst (First field) = field 

type family GetLast (a :: Last a) :: a where ... #

Equations

GetLast (Last field) = field 

type family GetDual (a :: Dual a) :: a where ... #

Equations

GetDual (Dual field) = field 

type family GetAll (a :: All) :: Bool where ... #

Equations

GetAll (All field) = field 

type family GetAny (a :: Any) :: Bool where ... #

Equations

GetAny (Any field) = field 

type family GetSum (a :: Sum a) :: a where ... #

Equations

GetSum (Sum field) = field 

type family GetProduct (a :: Product a) :: a where ... #

Equations

GetProduct (Product field) = field 

type family GetOption (a :: Option a) :: Maybe a where ... #

Equations

GetOption (Option field) = field 

type SMin = (Sing :: Min a -> Type) #

type SMax = (Sing :: Max a -> Type) #

type SFirst = (Sing :: First a -> Type) #

type SLast = (Sing :: Last a -> Type) #

type SDual = (Sing :: Dual a -> Type) #

type SAll = (Sing :: All -> Type) #

type SAny = (Sing :: Any -> Type) #

type SSum = (Sing :: Sum a -> Type) #

type SProduct = (Sing :: Product a -> Type) #

type SOption = (Sing :: Option a -> Type) #

type SArg = (Sing :: Arg a b -> Type) #

option_ :: b -> (a -> b) -> Option a -> b #

sOption_ :: forall b a (t :: b) (t :: (~>) a b) (t :: Option a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Option_Sym0 t) t) t :: b) #

type family Option_ (a :: b) (a :: (~>) a b) (a :: Option a) :: b where ... #

Equations

Option_ n j (Option m) = Apply (Apply (Apply Maybe_Sym0 n) j) m 

Defunctionalization symbols

data (<>@#@$) :: forall a6989586621679833215. (~>) a6989586621679833215 ((~>) a6989586621679833215 a6989586621679833215) infixr 6 #

Instances
SSemigroup a => SingI ((<>@#@$) :: TyFun a (a ~> a) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sing :: Sing (<>@#@$) #

SuppressUnusedWarnings ((<>@#@$) :: TyFun a6989586621679833215 (a6989586621679833215 ~> a6989586621679833215) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply ((<>@#@$) :: TyFun a6989586621679833215 (a6989586621679833215 ~> a6989586621679833215) -> Type) (arg6989586621679833700 :: a6989586621679833215) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply ((<>@#@$) :: TyFun a6989586621679833215 (a6989586621679833215 ~> a6989586621679833215) -> Type) (arg6989586621679833700 :: a6989586621679833215) = (<>@#@$$) arg6989586621679833700

data (<>@#@$$) (arg6989586621679833700 :: a6989586621679833215) :: (~>) a6989586621679833215 a6989586621679833215 infixr 6 #

Instances
(SSemigroup a, SingI d) => SingI ((<>@#@$$) d :: TyFun a a -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sing :: Sing ((<>@#@$$) d) #

SuppressUnusedWarnings ((<>@#@$$) arg6989586621679833700 :: TyFun a6989586621679833215 a6989586621679833215 -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply ((<>@#@$$) arg6989586621679833700 :: TyFun a a -> Type) (arg6989586621679833701 :: a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply ((<>@#@$$) arg6989586621679833700 :: TyFun a a -> Type) (arg6989586621679833701 :: a) = arg6989586621679833700 <> arg6989586621679833701

type (<>@#@$$$) (arg6989586621679833700 :: a6989586621679833215) (arg6989586621679833701 :: a6989586621679833215) = (<>) arg6989586621679833700 arg6989586621679833701 #

data SconcatSym0 :: forall a6989586621679833215. (~>) (NonEmpty a6989586621679833215) a6989586621679833215 #

Instances
SSemigroup a => SingI (SconcatSym0 :: TyFun (NonEmpty a) a -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

SuppressUnusedWarnings (SconcatSym0 :: TyFun (NonEmpty a6989586621679833215) a6989586621679833215 -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (SconcatSym0 :: TyFun (NonEmpty a) a -> Type) (arg6989586621679833704 :: NonEmpty a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (SconcatSym0 :: TyFun (NonEmpty a) a -> Type) (arg6989586621679833704 :: NonEmpty a) = Sconcat arg6989586621679833704

type SconcatSym1 (arg6989586621679833704 :: NonEmpty a6989586621679833215) = Sconcat arg6989586621679833704 #

data MinSym0 :: forall (a6989586621679063725 :: Type). (~>) a6989586621679063725 (Min (a6989586621679063725 :: Type)) #

Instances
SingI (MinSym0 :: TyFun a (Min a) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sing :: Sing MinSym0 #

SuppressUnusedWarnings (MinSym0 :: TyFun a6989586621679063725 (Min a6989586621679063725) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (MinSym0 :: TyFun a (Min a) -> Type) (t6989586621679843003 :: a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (MinSym0 :: TyFun a (Min a) -> Type) (t6989586621679843003 :: a) = Min t6989586621679843003

type MinSym1 (t6989586621679843003 :: a6989586621679063725) = Min t6989586621679843003 #

data GetMinSym0 :: forall a6989586621679063725. (~>) (Min a6989586621679063725) a6989586621679063725 #

Instances
SuppressUnusedWarnings (GetMinSym0 :: TyFun (Min a6989586621679063725) a6989586621679063725 -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (GetMinSym0 :: TyFun (Min a) a -> Type) (a6989586621679843000 :: Min a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (GetMinSym0 :: TyFun (Min a) a -> Type) (a6989586621679843000 :: Min a) = GetMin a6989586621679843000

type GetMinSym1 (a6989586621679843000 :: Min a6989586621679063725) = GetMin a6989586621679843000 #

data MaxSym0 :: forall (a6989586621679063731 :: Type). (~>) a6989586621679063731 (Max (a6989586621679063731 :: Type)) #

Instances
SingI (MaxSym0 :: TyFun a (Max a) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sing :: Sing MaxSym0 #

SuppressUnusedWarnings (MaxSym0 :: TyFun a6989586621679063731 (Max a6989586621679063731) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (MaxSym0 :: TyFun a (Max a) -> Type) (t6989586621679843020 :: a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (MaxSym0 :: TyFun a (Max a) -> Type) (t6989586621679843020 :: a) = Max t6989586621679843020

type MaxSym1 (t6989586621679843020 :: a6989586621679063731) = Max t6989586621679843020 #

data GetMaxSym0 :: forall a6989586621679063731. (~>) (Max a6989586621679063731) a6989586621679063731 #

Instances
SuppressUnusedWarnings (GetMaxSym0 :: TyFun (Max a6989586621679063731) a6989586621679063731 -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (GetMaxSym0 :: TyFun (Max a) a -> Type) (a6989586621679843017 :: Max a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (GetMaxSym0 :: TyFun (Max a) a -> Type) (a6989586621679843017 :: Max a) = GetMax a6989586621679843017

type GetMaxSym1 (a6989586621679843017 :: Max a6989586621679063731) = GetMax a6989586621679843017 #

data FirstSym0 :: forall (a6989586621679063745 :: Type). (~>) a6989586621679063745 (First (a6989586621679063745 :: Type)) #

Instances
SingI (FirstSym0 :: TyFun a (First a) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sing :: Sing FirstSym0 #

SuppressUnusedWarnings (FirstSym0 :: TyFun a6989586621679063745 (First a6989586621679063745) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (FirstSym0 :: TyFun a (First a) -> Type) (t6989586621679843037 :: a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (FirstSym0 :: TyFun a (First a) -> Type) (t6989586621679843037 :: a) = First t6989586621679843037

type FirstSym1 (t6989586621679843037 :: a6989586621679063745) = First t6989586621679843037 #

data GetFirstSym0 :: forall a6989586621679063745. (~>) (First a6989586621679063745) a6989586621679063745 #

Instances
SuppressUnusedWarnings (GetFirstSym0 :: TyFun (First a6989586621679063745) a6989586621679063745 -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (GetFirstSym0 :: TyFun (First a) a -> Type) (a6989586621679843034 :: First a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (GetFirstSym0 :: TyFun (First a) a -> Type) (a6989586621679843034 :: First a) = GetFirst a6989586621679843034

type GetFirstSym1 (a6989586621679843034 :: First a6989586621679063745) = GetFirst a6989586621679843034 #

data LastSym0 :: forall (a6989586621679063751 :: Type). (~>) a6989586621679063751 (Last (a6989586621679063751 :: Type)) #

Instances
SingI (LastSym0 :: TyFun a (Last a) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sing :: Sing LastSym0 #

SuppressUnusedWarnings (LastSym0 :: TyFun a6989586621679063751 (Last a6989586621679063751) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (LastSym0 :: TyFun a (Last a) -> Type) (t6989586621679843054 :: a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (LastSym0 :: TyFun a (Last a) -> Type) (t6989586621679843054 :: a) = Last t6989586621679843054

type LastSym1 (t6989586621679843054 :: a6989586621679063751) = Last t6989586621679843054 #

data GetLastSym0 :: forall a6989586621679063751. (~>) (Last a6989586621679063751) a6989586621679063751 #

Instances
SuppressUnusedWarnings (GetLastSym0 :: TyFun (Last a6989586621679063751) a6989586621679063751 -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (GetLastSym0 :: TyFun (Last a) a -> Type) (a6989586621679843051 :: Last a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (GetLastSym0 :: TyFun (Last a) a -> Type) (a6989586621679843051 :: Last a) = GetLast a6989586621679843051

type GetLastSym1 (a6989586621679843051 :: Last a6989586621679063751) = GetLast a6989586621679843051 #

data WrapMonoidSym0 :: forall (m6989586621679063757 :: Type). (~>) m6989586621679063757 (WrappedMonoid (m6989586621679063757 :: Type)) #

Instances
SingI (WrapMonoidSym0 :: TyFun m (WrappedMonoid m) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

SuppressUnusedWarnings (WrapMonoidSym0 :: TyFun m6989586621679063757 (WrappedMonoid m6989586621679063757) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (WrapMonoidSym0 :: TyFun m (WrappedMonoid m) -> Type) (t6989586621679843071 :: m) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (WrapMonoidSym0 :: TyFun m (WrappedMonoid m) -> Type) (t6989586621679843071 :: m) = WrapMonoid t6989586621679843071

type WrapMonoidSym1 (t6989586621679843071 :: m6989586621679063757) = WrapMonoid t6989586621679843071 #

data UnwrapMonoidSym0 :: forall m6989586621679063757. (~>) (WrappedMonoid m6989586621679063757) m6989586621679063757 #

Instances
SuppressUnusedWarnings (UnwrapMonoidSym0 :: TyFun (WrappedMonoid m6989586621679063757) m6989586621679063757 -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (UnwrapMonoidSym0 :: TyFun (WrappedMonoid m) m -> Type) (a6989586621679843068 :: WrappedMonoid m) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (UnwrapMonoidSym0 :: TyFun (WrappedMonoid m) m -> Type) (a6989586621679843068 :: WrappedMonoid m)

type UnwrapMonoidSym1 (a6989586621679843068 :: WrappedMonoid m6989586621679063757) = UnwrapMonoid a6989586621679843068 #

data DualSym0 :: forall (a6989586621679087235 :: Type). (~>) a6989586621679087235 (Dual (a6989586621679087235 :: Type)) #

Instances
SingI (DualSym0 :: TyFun a (Dual a) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sing :: Sing DualSym0 #

SuppressUnusedWarnings (DualSym0 :: TyFun a6989586621679087235 (Dual a6989586621679087235) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (DualSym0 :: TyFun a (Dual a) -> Type) (t6989586621679842924 :: a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (DualSym0 :: TyFun a (Dual a) -> Type) (t6989586621679842924 :: a) = Dual t6989586621679842924

type DualSym1 (t6989586621679842924 :: a6989586621679087235) = Dual t6989586621679842924 #

data GetDualSym0 :: forall a6989586621679087235. (~>) (Dual a6989586621679087235) a6989586621679087235 #

Instances
SuppressUnusedWarnings (GetDualSym0 :: TyFun (Dual a6989586621679087235) a6989586621679087235 -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (GetDualSym0 :: TyFun (Dual a) a -> Type) (a6989586621679842921 :: Dual a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (GetDualSym0 :: TyFun (Dual a) a -> Type) (a6989586621679842921 :: Dual a) = GetDual a6989586621679842921

type GetDualSym1 (a6989586621679842921 :: Dual a6989586621679087235) = GetDual a6989586621679842921 #

data AllSym0 :: (~>) Bool All #

Instances
SingI AllSym0 # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sing :: Sing AllSym0 #

SuppressUnusedWarnings AllSym0 # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply AllSym0 (t6989586621679842938 :: Bool) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply AllSym0 (t6989586621679842938 :: Bool) = All t6989586621679842938

type AllSym1 (t6989586621679842938 :: Bool) = All t6989586621679842938 #

data GetAllSym0 :: (~>) All Bool #

Instances
SuppressUnusedWarnings GetAllSym0 # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply GetAllSym0 (a6989586621679842935 :: All) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply GetAllSym0 (a6989586621679842935 :: All) = GetAll a6989586621679842935

type GetAllSym1 (a6989586621679842935 :: All) = GetAll a6989586621679842935 #

data AnySym0 :: (~>) Bool Any #

Instances
SingI AnySym0 # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sing :: Sing AnySym0 #

SuppressUnusedWarnings AnySym0 # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply AnySym0 (t6989586621679842952 :: Bool) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply AnySym0 (t6989586621679842952 :: Bool) = Any t6989586621679842952

type AnySym1 (t6989586621679842952 :: Bool) = Any t6989586621679842952 #

data GetAnySym0 :: (~>) Any Bool #

Instances
SuppressUnusedWarnings GetAnySym0 # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply GetAnySym0 (a6989586621679842949 :: Any) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply GetAnySym0 (a6989586621679842949 :: Any) = GetAny a6989586621679842949

type GetAnySym1 (a6989586621679842949 :: Any) = GetAny a6989586621679842949 #

data SumSym0 :: forall (a6989586621679087220 :: Type). (~>) a6989586621679087220 (Sum (a6989586621679087220 :: Type)) #

Instances
SingI (SumSym0 :: TyFun a (Sum a) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sing :: Sing SumSym0 #

SuppressUnusedWarnings (SumSym0 :: TyFun a6989586621679087220 (Sum a6989586621679087220) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (SumSym0 :: TyFun a (Sum a) -> Type) (t6989586621679842969 :: a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (SumSym0 :: TyFun a (Sum a) -> Type) (t6989586621679842969 :: a) = Sum t6989586621679842969

type SumSym1 (t6989586621679842969 :: a6989586621679087220) = Sum t6989586621679842969 #

data GetSumSym0 :: forall a6989586621679087220. (~>) (Sum a6989586621679087220) a6989586621679087220 #

Instances
SuppressUnusedWarnings (GetSumSym0 :: TyFun (Sum a6989586621679087220) a6989586621679087220 -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (GetSumSym0 :: TyFun (Sum a) a -> Type) (a6989586621679842966 :: Sum a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (GetSumSym0 :: TyFun (Sum a) a -> Type) (a6989586621679842966 :: Sum a) = GetSum a6989586621679842966

type GetSumSym1 (a6989586621679842966 :: Sum a6989586621679087220) = GetSum a6989586621679842966 #

data ProductSym0 :: forall (a6989586621679087225 :: Type). (~>) a6989586621679087225 (Product (a6989586621679087225 :: Type)) #

Instances
SingI (ProductSym0 :: TyFun a (Product a) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

SuppressUnusedWarnings (ProductSym0 :: TyFun a6989586621679087225 (Product a6989586621679087225) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (ProductSym0 :: TyFun a (Product a) -> Type) (t6989586621679842986 :: a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (ProductSym0 :: TyFun a (Product a) -> Type) (t6989586621679842986 :: a) = Product t6989586621679842986

type ProductSym1 (t6989586621679842986 :: a6989586621679087225) = Product t6989586621679842986 #

data GetProductSym0 :: forall a6989586621679087225. (~>) (Product a6989586621679087225) a6989586621679087225 #

Instances
SuppressUnusedWarnings (GetProductSym0 :: TyFun (Product a6989586621679087225) a6989586621679087225 -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (GetProductSym0 :: TyFun (Product a) a -> Type) (a6989586621679842983 :: Product a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (GetProductSym0 :: TyFun (Product a) a -> Type) (a6989586621679842983 :: Product a) = GetProduct a6989586621679842983

type GetProductSym1 (a6989586621679842983 :: Product a6989586621679087225) = GetProduct a6989586621679842983 #

data OptionSym0 :: forall (a6989586621679063763 :: Type). (~>) (Maybe a6989586621679063763) (Option (a6989586621679063763 :: Type)) #

Instances
SingI (OptionSym0 :: TyFun (Maybe a) (Option a) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sing :: Sing OptionSym0 #

SuppressUnusedWarnings (OptionSym0 :: TyFun (Maybe a6989586621679063763) (Option a6989586621679063763) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (OptionSym0 :: TyFun (Maybe a) (Option a) -> Type) (t6989586621679842907 :: Maybe a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (OptionSym0 :: TyFun (Maybe a) (Option a) -> Type) (t6989586621679842907 :: Maybe a) = Option t6989586621679842907

type OptionSym1 (t6989586621679842907 :: Maybe a6989586621679063763) = Option t6989586621679842907 #

data GetOptionSym0 :: forall a6989586621679063763. (~>) (Option a6989586621679063763) (Maybe a6989586621679063763) #

Instances
SuppressUnusedWarnings (GetOptionSym0 :: TyFun (Option a6989586621679063763) (Maybe a6989586621679063763) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (GetOptionSym0 :: TyFun (Option a) (Maybe a) -> Type) (a6989586621679842904 :: Option a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Apply (GetOptionSym0 :: TyFun (Option a) (Maybe a) -> Type) (a6989586621679842904 :: Option a) = GetOption a6989586621679842904

type GetOptionSym1 (a6989586621679842904 :: Option a6989586621679063763) = GetOption a6989586621679842904 #

data ArgSym0 :: forall (a6989586621679063738 :: Type) (b6989586621679063739 :: Type). (~>) a6989586621679063738 ((~>) b6989586621679063739 (Arg (a6989586621679063738 :: Type) (b6989586621679063739 :: Type))) #

Instances
SingI (ArgSym0 :: TyFun a (b ~> Arg a b) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

sing :: Sing ArgSym0 #

SuppressUnusedWarnings (ArgSym0 :: TyFun a6989586621679063738 (b6989586621679063739 ~> Arg a6989586621679063738 b6989586621679063739) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Apply (ArgSym0 :: TyFun a6989586621679063738 (b6989586621679063739 ~> Arg a6989586621679063738 b6989586621679063739) -> Type) (t6989586621680907981 :: a6989586621679063738) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Apply (ArgSym0 :: TyFun a6989586621679063738 (b6989586621679063739 ~> Arg a6989586621679063738 b6989586621679063739) -> Type) (t6989586621680907981 :: a6989586621679063738) = (ArgSym1 t6989586621680907981 b6989586621679063739 :: TyFun b6989586621679063739 (Arg a6989586621679063738 b6989586621679063739) -> Type)

data ArgSym1 (t6989586621680907981 :: (a6989586621679063738 :: Type)) :: forall (b6989586621679063739 :: Type). (~>) b6989586621679063739 (Arg (a6989586621679063738 :: Type) (b6989586621679063739 :: Type)) #

Instances
SingI d => SingI (ArgSym1 d b :: TyFun b (Arg a b) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

sing :: Sing (ArgSym1 d b) #

SuppressUnusedWarnings (ArgSym1 t6989586621680907981 b6989586621679063739 :: TyFun b6989586621679063739 (Arg a6989586621679063738 b6989586621679063739) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Apply (ArgSym1 t6989586621680907981 b :: TyFun b (Arg a b) -> Type) (t6989586621680907982 :: b) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Apply (ArgSym1 t6989586621680907981 b :: TyFun b (Arg a b) -> Type) (t6989586621680907982 :: b) = Arg t6989586621680907981 t6989586621680907982

type ArgSym2 (t6989586621680907981 :: a6989586621679063738) (t6989586621680907982 :: b6989586621679063739) = Arg t6989586621680907981 t6989586621680907982 #

Orphan instances

SMonadPlus Option # 
Instance details

Methods

sMzero :: Sing MzeroSym0 #

sMplus :: Sing t -> Sing t -> Sing (Apply (Apply MplusSym0 t) t) #

SAlternative Option # 
Instance details

Methods

sEmpty :: Sing EmptySym0 #

(%<|>) :: Sing t -> Sing t -> Sing (Apply (Apply (<|>@#@$) t) t) #

SMonad Min # 
Instance details

Methods

(%>>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>>=@#@$) t) t) #

(%>>) :: Sing t -> Sing t -> Sing (Apply (Apply (>>@#@$) t) t) #

sReturn :: Sing t -> Sing (Apply ReturnSym0 t) #

sFail :: Sing t -> Sing (Apply FailSym0 t) #

SMonad Max # 
Instance details

Methods

(%>>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>>=@#@$) t) t) #

(%>>) :: Sing t -> Sing t -> Sing (Apply (Apply (>>@#@$) t) t) #

sReturn :: Sing t -> Sing (Apply ReturnSym0 t) #

sFail :: Sing t -> Sing (Apply FailSym0 t) #

SMonad First # 
Instance details

Methods

(%>>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>>=@#@$) t) t) #

(%>>) :: Sing t -> Sing t -> Sing (Apply (Apply (>>@#@$) t) t) #

sReturn :: Sing t -> Sing (Apply ReturnSym0 t) #

sFail :: Sing t -> Sing (Apply FailSym0 t) #

SMonad Last # 
Instance details

Methods

(%>>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>>=@#@$) t) t) #

(%>>) :: Sing t -> Sing t -> Sing (Apply (Apply (>>@#@$) t) t) #

sReturn :: Sing t -> Sing (Apply ReturnSym0 t) #

sFail :: Sing t -> Sing (Apply FailSym0 t) #

SMonad Option # 
Instance details

Methods

(%>>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>>=@#@$) t) t) #

(%>>) :: Sing t -> Sing t -> Sing (Apply (Apply (>>@#@$) t) t) #

sReturn :: Sing t -> Sing (Apply ReturnSym0 t) #

sFail :: Sing t -> Sing (Apply FailSym0 t) #

SApplicative Min # 
Instance details

Methods

sPure :: Sing t -> Sing (Apply PureSym0 t) #

(%<*>) :: Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) #

sLiftA2 :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) #

(%*>) :: Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) #

(%<*) :: Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) #

SApplicative Max # 
Instance details

Methods

sPure :: Sing t -> Sing (Apply PureSym0 t) #

(%<*>) :: Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) #

sLiftA2 :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) #

(%*>) :: Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) #

(%<*) :: Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) #

SApplicative First # 
Instance details

Methods

sPure :: Sing t -> Sing (Apply PureSym0 t) #

(%<*>) :: Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) #

sLiftA2 :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) #

(%*>) :: Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) #

(%<*) :: Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) #

SApplicative Last # 
Instance details

Methods

sPure :: Sing t -> Sing (Apply PureSym0 t) #

(%<*>) :: Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) #

sLiftA2 :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) #

(%*>) :: Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) #

(%<*) :: Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) #

SApplicative Option # 
Instance details

Methods

sPure :: Sing t -> Sing (Apply PureSym0 t) #

(%<*>) :: Sing t -> Sing t -> Sing (Apply (Apply (<*>@#@$) t) t) #

sLiftA2 :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply LiftA2Sym0 t) t) t) #

(%*>) :: Sing t -> Sing t -> Sing (Apply (Apply (*>@#@$) t) t) #

(%<*) :: Sing t -> Sing t -> Sing (Apply (Apply (<*@#@$) t) t) #

SFunctor Min # 
Instance details

Methods

sFmap :: Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) #

(%<$) :: Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) #

SFunctor Max # 
Instance details

Methods

sFmap :: Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) #

(%<$) :: Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) #

SFunctor First # 
Instance details

Methods

sFmap :: Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) #

(%<$) :: Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) #

SFunctor Last # 
Instance details

Methods

sFmap :: Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) #

(%<$) :: Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) #

SFunctor Option # 
Instance details

Methods

sFmap :: Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) #

(%<$) :: Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) #

PMonadPlus Option # 
Instance details

Associated Types

type Mzero :: m a #

type Mplus arg arg :: m a #

PAlternative Option # 
Instance details

Associated Types

type Empty :: f a #

type arg <|> arg :: f a #

PMonad Min # 
Instance details

Associated Types

type arg >>= arg :: m b #

type arg >> arg :: m b #

type Return arg :: m a #

type Fail arg :: m a #

PMonad Max # 
Instance details

Associated Types

type arg >>= arg :: m b #

type arg >> arg :: m b #

type Return arg :: m a #

type Fail arg :: m a #

PMonad First # 
Instance details

Associated Types

type arg >>= arg :: m b #

type arg >> arg :: m b #

type Return arg :: m a #

type Fail arg :: m a #

PMonad Last # 
Instance details

Associated Types

type arg >>= arg :: m b #

type arg >> arg :: m b #

type Return arg :: m a #

type Fail arg :: m a #

PMonad Option # 
Instance details

Associated Types

type arg >>= arg :: m b #

type arg >> arg :: m b #

type Return arg :: m a #

type Fail arg :: m a #

PApplicative Min # 
Instance details

Associated Types

type Pure arg :: f a #

type arg <*> arg :: f b #

type LiftA2 arg arg arg :: f c #

type arg *> arg :: f b #

type arg <* arg :: f a #

PApplicative Max # 
Instance details

Associated Types

type Pure arg :: f a #

type arg <*> arg :: f b #

type LiftA2 arg arg arg :: f c #

type arg *> arg :: f b #

type arg <* arg :: f a #

PApplicative First # 
Instance details

Associated Types

type Pure arg :: f a #

type arg <*> arg :: f b #

type LiftA2 arg arg arg :: f c #

type arg *> arg :: f b #

type arg <* arg :: f a #

PApplicative Last # 
Instance details

Associated Types

type Pure arg :: f a #

type arg <*> arg :: f b #

type LiftA2 arg arg arg :: f c #

type arg *> arg :: f b #

type arg <* arg :: f a #

PApplicative Option # 
Instance details

Associated Types

type Pure arg :: f a #

type arg <*> arg :: f b #

type LiftA2 arg arg arg :: f c #

type arg *> arg :: f b #

type arg <* arg :: f a #

PFunctor Min # 
Instance details

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

PFunctor Max # 
Instance details

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

PFunctor First # 
Instance details

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

PFunctor Last # 
Instance details

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

PFunctor Option # 
Instance details

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

SShow Bool => SShow All # 
Instance details

Methods

sShowsPrec :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) #

sShow_ :: Sing t -> Sing (Apply Show_Sym0 t) #

sShowList :: Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) #

SShow Bool => SShow Any # 
Instance details

Methods

sShowsPrec :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) #

sShow_ :: Sing t -> Sing (Apply Show_Sym0 t) #

sShowList :: Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) #

PShow All # 
Instance details

Associated Types

type ShowsPrec arg arg arg :: Symbol #

type Show_ arg :: Symbol #

type ShowList arg arg :: Symbol #

PShow Any # 
Instance details

Associated Types

type ShowsPrec arg arg arg :: Symbol #

type Show_ arg :: Symbol #

type ShowList arg arg :: Symbol #

SFoldable Min # 
Instance details

Methods

sFold :: SMonoid m => Sing t -> Sing (Apply FoldSym0 t) #

sFoldMap :: SMonoid m => Sing t -> Sing t -> Sing (Apply (Apply FoldMapSym0 t) t) #

sFoldr :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldrSym0 t) t) t) #

sFoldr' :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldr'Sym0 t) t) t) #

sFoldl :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldlSym0 t) t) t) #

sFoldl' :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldl'Sym0 t) t) t) #

sFoldr1 :: Sing t -> Sing t -> Sing (Apply (Apply Foldr1Sym0 t) t) #

sFoldl1 :: Sing t -> Sing t -> Sing (Apply (Apply Foldl1Sym0 t) t) #

sToList :: Sing t -> Sing (Apply ToListSym0 t) #

sNull :: Sing t -> Sing (Apply NullSym0 t) #

sLength :: Sing t -> Sing (Apply LengthSym0 t) #

sElem :: SEq a => Sing t -> Sing t -> Sing (Apply (Apply ElemSym0 t) t) #

sMaximum :: SOrd a => Sing t -> Sing (Apply MaximumSym0 t) #

sMinimum :: SOrd a => Sing t -> Sing (Apply MinimumSym0 t) #

sSum :: SNum a => Sing t -> Sing (Apply SumSym0 t) #

sProduct :: SNum a => Sing t -> Sing (Apply ProductSym0 t) #

SFoldable Max # 
Instance details

Methods

sFold :: SMonoid m => Sing t -> Sing (Apply FoldSym0 t) #

sFoldMap :: SMonoid m => Sing t -> Sing t -> Sing (Apply (Apply FoldMapSym0 t) t) #

sFoldr :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldrSym0 t) t) t) #

sFoldr' :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldr'Sym0 t) t) t) #

sFoldl :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldlSym0 t) t) t) #

sFoldl' :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldl'Sym0 t) t) t) #

sFoldr1 :: Sing t -> Sing t -> Sing (Apply (Apply Foldr1Sym0 t) t) #

sFoldl1 :: Sing t -> Sing t -> Sing (Apply (Apply Foldl1Sym0 t) t) #

sToList :: Sing t -> Sing (Apply ToListSym0 t) #

sNull :: Sing t -> Sing (Apply NullSym0 t) #

sLength :: Sing t -> Sing (Apply LengthSym0 t) #

sElem :: SEq a => Sing t -> Sing t -> Sing (Apply (Apply ElemSym0 t) t) #

sMaximum :: SOrd a => Sing t -> Sing (Apply MaximumSym0 t) #

sMinimum :: SOrd a => Sing t -> Sing (Apply MinimumSym0 t) #

sSum :: SNum a => Sing t -> Sing (Apply SumSym0 t) #

sProduct :: SNum a => Sing t -> Sing (Apply ProductSym0 t) #

SFoldable First # 
Instance details

Methods

sFold :: SMonoid m => Sing t -> Sing (Apply FoldSym0 t) #

sFoldMap :: SMonoid m => Sing t -> Sing t -> Sing (Apply (Apply FoldMapSym0 t) t) #

sFoldr :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldrSym0 t) t) t) #

sFoldr' :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldr'Sym0 t) t) t) #

sFoldl :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldlSym0 t) t) t) #

sFoldl' :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldl'Sym0 t) t) t) #

sFoldr1 :: Sing t -> Sing t -> Sing (Apply (Apply Foldr1Sym0 t) t) #

sFoldl1 :: Sing t -> Sing t -> Sing (Apply (Apply Foldl1Sym0 t) t) #

sToList :: Sing t -> Sing (Apply ToListSym0 t) #

sNull :: Sing t -> Sing (Apply NullSym0 t) #

sLength :: Sing t -> Sing (Apply LengthSym0 t) #

sElem :: SEq a => Sing t -> Sing t -> Sing (Apply (Apply ElemSym0 t) t) #

sMaximum :: SOrd a => Sing t -> Sing (Apply MaximumSym0 t) #

sMinimum :: SOrd a => Sing t -> Sing (Apply MinimumSym0 t) #

sSum :: SNum a => Sing t -> Sing (Apply SumSym0 t) #

sProduct :: SNum a => Sing t -> Sing (Apply ProductSym0 t) #

SFoldable Last # 
Instance details

Methods

sFold :: SMonoid m => Sing t -> Sing (Apply FoldSym0 t) #

sFoldMap :: SMonoid m => Sing t -> Sing t -> Sing (Apply (Apply FoldMapSym0 t) t) #

sFoldr :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldrSym0 t) t) t) #

sFoldr' :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldr'Sym0 t) t) t) #

sFoldl :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldlSym0 t) t) t) #

sFoldl' :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldl'Sym0 t) t) t) #

sFoldr1 :: Sing t -> Sing t -> Sing (Apply (Apply Foldr1Sym0 t) t) #

sFoldl1 :: Sing t -> Sing t -> Sing (Apply (Apply Foldl1Sym0 t) t) #

sToList :: Sing t -> Sing (Apply ToListSym0 t) #

sNull :: Sing t -> Sing (Apply NullSym0 t) #

sLength :: Sing t -> Sing (Apply LengthSym0 t) #

sElem :: SEq a => Sing t -> Sing t -> Sing (Apply (Apply ElemSym0 t) t) #

sMaximum :: SOrd a => Sing t -> Sing (Apply MaximumSym0 t) #

sMinimum :: SOrd a => Sing t -> Sing (Apply MinimumSym0 t) #

sSum :: SNum a => Sing t -> Sing (Apply SumSym0 t) #

sProduct :: SNum a => Sing t -> Sing (Apply ProductSym0 t) #

SFoldable Option # 
Instance details

Methods

sFold :: SMonoid m => Sing t -> Sing (Apply FoldSym0 t) #

sFoldMap :: SMonoid m => Sing t -> Sing t -> Sing (Apply (Apply FoldMapSym0 t) t) #

sFoldr :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldrSym0 t) t) t) #

sFoldr' :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldr'Sym0 t) t) t) #

sFoldl :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldlSym0 t) t) t) #

sFoldl' :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldl'Sym0 t) t) t) #

sFoldr1 :: Sing t -> Sing t -> Sing (Apply (Apply Foldr1Sym0 t) t) #

sFoldl1 :: Sing t -> Sing t -> Sing (Apply (Apply Foldl1Sym0 t) t) #

sToList :: Sing t -> Sing (Apply ToListSym0 t) #

sNull :: Sing t -> Sing (Apply NullSym0 t) #

sLength :: Sing t -> Sing (Apply LengthSym0 t) #

sElem :: SEq a => Sing t -> Sing t -> Sing (Apply (Apply ElemSym0 t) t) #

sMaximum :: SOrd a => Sing t -> Sing (Apply MaximumSym0 t) #

sMinimum :: SOrd a => Sing t -> Sing (Apply MinimumSym0 t) #

sSum :: SNum a => Sing t -> Sing (Apply SumSym0 t) #

sProduct :: SNum a => Sing t -> Sing (Apply ProductSym0 t) #

PFoldable Min # 
Instance details

Associated Types

type Fold arg :: m #

type FoldMap arg arg :: m #

type Foldr arg arg arg :: b #

type Foldr' arg arg arg :: b #

type Foldl arg arg arg :: b #

type Foldl' arg arg arg :: b #

type Foldr1 arg arg :: a #

type Foldl1 arg arg :: a #

type ToList arg :: [a] #

type Null arg :: Bool #

type Length arg :: Nat #

type Elem arg arg :: Bool #

type Maximum arg :: a #

type Minimum arg :: a #

type Sum arg :: a #

type Product arg :: a #

PFoldable Max # 
Instance details

Associated Types

type Fold arg :: m #

type FoldMap arg arg :: m #

type Foldr arg arg arg :: b #

type Foldr' arg arg arg :: b #

type Foldl arg arg arg :: b #

type Foldl' arg arg arg :: b #

type Foldr1 arg arg :: a #

type Foldl1 arg arg :: a #

type ToList arg :: [a] #

type Null arg :: Bool #

type Length arg :: Nat #

type Elem arg arg :: Bool #

type Maximum arg :: a #

type Minimum arg :: a #

type Sum arg :: a #

type Product arg :: a #

PFoldable First # 
Instance details

Associated Types

type Fold arg :: m #

type FoldMap arg arg :: m #

type Foldr arg arg arg :: b #

type Foldr' arg arg arg :: b #

type Foldl arg arg arg :: b #

type Foldl' arg arg arg :: b #

type Foldr1 arg arg :: a #

type Foldl1 arg arg :: a #

type ToList arg :: [a] #

type Null arg :: Bool #

type Length arg :: Nat #

type Elem arg arg :: Bool #

type Maximum arg :: a #

type Minimum arg :: a #

type Sum arg :: a #

type Product arg :: a #

PFoldable Last # 
Instance details

Associated Types

type Fold arg :: m #

type FoldMap arg arg :: m #

type Foldr arg arg arg :: b #

type Foldr' arg arg arg :: b #

type Foldl arg arg arg :: b #

type Foldl' arg arg arg :: b #

type Foldr1 arg arg :: a #

type Foldl1 arg arg :: a #

type ToList arg :: [a] #

type Null arg :: Bool #

type Length arg :: Nat #

type Elem arg arg :: Bool #

type Maximum arg :: a #

type Minimum arg :: a #

type Sum arg :: a #

type Product arg :: a #

PFoldable Option # 
Instance details

Associated Types

type Fold arg :: m #

type FoldMap arg arg :: m #

type Foldr arg arg arg :: b #

type Foldr' arg arg arg :: b #

type Foldl arg arg arg :: b #

type Foldl' arg arg arg :: b #

type Foldr1 arg arg :: a #

type Foldl1 arg arg :: a #

type ToList arg :: [a] #

type Null arg :: Bool #

type Length arg :: Nat #

type Elem arg arg :: Bool #

type Maximum arg :: a #

type Minimum arg :: a #

type Sum arg :: a #

type Product arg :: a #

STraversable Min # 
Instance details

STraversable Max # 
Instance details

STraversable First # 
Instance details

STraversable Last # 
Instance details

STraversable Option # 
Instance details

PTraversable Min # 
Instance details

Associated Types

type Traverse arg arg :: f (t b) #

type SequenceA arg :: f (t a) #

type MapM arg arg :: m (t b) #

type Sequence arg :: m (t a) #

PTraversable Max # 
Instance details

Associated Types

type Traverse arg arg :: f (t b) #

type SequenceA arg :: f (t a) #

type MapM arg arg :: m (t b) #

type Sequence arg :: m (t a) #

PTraversable First # 
Instance details

Associated Types

type Traverse arg arg :: f (t b) #

type SequenceA arg :: f (t a) #

type MapM arg arg :: m (t b) #

type Sequence arg :: m (t a) #

PTraversable Last # 
Instance details

Associated Types

type Traverse arg arg :: f (t b) #

type SequenceA arg :: f (t a) #

type MapM arg arg :: m (t b) #

type Sequence arg :: m (t a) #

PTraversable Option # 
Instance details

Associated Types

type Traverse arg arg :: f (t b) #

type SequenceA arg :: f (t a) #

type MapM arg arg :: m (t b) #

type Sequence arg :: m (t a) #

SNum a => SNum (Min a) # 
Instance details

Methods

(%+) :: Sing t -> Sing t -> Sing (Apply (Apply (+@#@$) t) t) #

(%-) :: Sing t -> Sing t -> Sing (Apply (Apply (-@#@$) t) t) #

(%*) :: Sing t -> Sing t -> Sing (Apply (Apply (*@#@$) t) t) #

sNegate :: Sing t -> Sing (Apply NegateSym0 t) #

sAbs :: Sing t -> Sing (Apply AbsSym0 t) #

sSignum :: Sing t -> Sing (Apply SignumSym0 t) #

sFromInteger :: Sing t -> Sing (Apply FromIntegerSym0 t) #

SNum a => SNum (Max a) # 
Instance details

Methods

(%+) :: Sing t -> Sing t -> Sing (Apply (Apply (+@#@$) t) t) #

(%-) :: Sing t -> Sing t -> Sing (Apply (Apply (-@#@$) t) t) #

(%*) :: Sing t -> Sing t -> Sing (Apply (Apply (*@#@$) t) t) #

sNegate :: Sing t -> Sing (Apply NegateSym0 t) #

sAbs :: Sing t -> Sing (Apply AbsSym0 t) #

sSignum :: Sing t -> Sing (Apply SignumSym0 t) #

sFromInteger :: Sing t -> Sing (Apply FromIntegerSym0 t) #

PNum (Min a) # 
Instance details

Associated Types

type arg + arg :: a #

type arg - arg :: a #

type arg * arg :: a #

type Negate arg :: a #

type Abs arg :: a #

type Signum arg :: a #

type FromInteger arg :: a #

PNum (Max a) # 
Instance details

Associated Types

type arg + arg :: a #

type arg - arg :: a #

type arg * arg :: a #

type Negate arg :: a #

type Abs arg :: a #

type Signum arg :: a #

type FromInteger arg :: a #

SFunctor (Arg a) # 
Instance details

Methods

sFmap :: Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) #

(%<$) :: Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) #

PFunctor (Arg a) # 
Instance details

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

SEnum a => SEnum (Min a) # 
Instance details

SEnum a => SEnum (Max a) # 
Instance details

SEnum a => SEnum (First a) # 
Instance details

SEnum a => SEnum (Last a) # 
Instance details

SEnum a => SEnum (WrappedMonoid a) # 
Instance details

PEnum (Min a) # 
Instance details

Associated Types

type Succ arg :: a #

type Pred arg :: a #

type ToEnum arg :: a #

type FromEnum arg :: Nat #

type EnumFromTo arg arg :: [a] #

type EnumFromThenTo arg arg arg :: [a] #

PEnum (Max a) # 
Instance details

Associated Types

type Succ arg :: a #

type Pred arg :: a #

type ToEnum arg :: a #

type FromEnum arg :: Nat #

type EnumFromTo arg arg :: [a] #

type EnumFromThenTo arg arg arg :: [a] #

PEnum (First a) # 
Instance details

Associated Types

type Succ arg :: a #

type Pred arg :: a #

type ToEnum arg :: a #

type FromEnum arg :: Nat #

type EnumFromTo arg arg :: [a] #

type EnumFromThenTo arg arg arg :: [a] #

PEnum (Last a) # 
Instance details

Associated Types

type Succ arg :: a #

type Pred arg :: a #

type ToEnum arg :: a #

type FromEnum arg :: Nat #

type EnumFromTo arg arg :: [a] #

type EnumFromThenTo arg arg arg :: [a] #

PEnum (WrappedMonoid a) # 
Instance details

Associated Types

type Succ arg :: a #

type Pred arg :: a #

type ToEnum arg :: a #

type FromEnum arg :: Nat #

type EnumFromTo arg arg :: [a] #

type EnumFromThenTo arg arg arg :: [a] #

SOrd a => SSemigroup (Min a) # 
Instance details

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SOrd a => SSemigroup (Max a) # 
Instance details

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SSemigroup (First a) # 
Instance details

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SSemigroup (Last a) # 
Instance details

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SMonoid m => SSemigroup (WrappedMonoid m) # 
Instance details

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

SSemigroup a => SSemigroup (Option a) # 
Instance details

Methods

(%<>) :: Sing t -> Sing t -> Sing (Apply (Apply (<>@#@$) t) t) #

sSconcat :: Sing t -> Sing (Apply SconcatSym0 t) #

PSemigroup (Min a) # 
Instance details

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (Max a) # 
Instance details

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (First a) # 
Instance details

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (Last a) # 
Instance details

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (WrappedMonoid m) # 
Instance details

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

PSemigroup (Option a) # 
Instance details

Associated Types

type arg <> arg :: a #

type Sconcat arg :: a #

SShow a => SShow (Min a) # 
Instance details

Methods

sShowsPrec :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) #

sShow_ :: Sing t -> Sing (Apply Show_Sym0 t) #

sShowList :: Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) #

SShow a => SShow (Max a) # 
Instance details

Methods

sShowsPrec :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) #

sShow_ :: Sing t -> Sing (Apply Show_Sym0 t) #

sShowList :: Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) #

SShow a => SShow (First a) # 
Instance details

Methods

sShowsPrec :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) #

sShow_ :: Sing t -> Sing (Apply Show_Sym0 t) #

sShowList :: Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) #

SShow a => SShow (Last a) # 
Instance details

Methods

sShowsPrec :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) #

sShow_ :: Sing t -> Sing (Apply Show_Sym0 t) #

sShowList :: Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) #

SShow m => SShow (WrappedMonoid m) # 
Instance details

Methods

sShowsPrec :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) #

sShow_ :: Sing t -> Sing (Apply Show_Sym0 t) #

sShowList :: Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) #

SShow (Maybe a) => SShow (Option a) # 
Instance details

Methods

sShowsPrec :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) #

sShow_ :: Sing t -> Sing (Apply Show_Sym0 t) #

sShowList :: Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) #

SShow a => SShow (Dual a) # 
Instance details

Methods

sShowsPrec :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) #

sShow_ :: Sing t -> Sing (Apply Show_Sym0 t) #

sShowList :: Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) #

SShow a => SShow (Sum a) # 
Instance details

Methods

sShowsPrec :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) #

sShow_ :: Sing t -> Sing (Apply Show_Sym0 t) #

sShowList :: Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) #

SShow a => SShow (Product a) # 
Instance details

Methods

sShowsPrec :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) #

sShow_ :: Sing t -> Sing (Apply Show_Sym0 t) #

sShowList :: Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) #

PShow (Min a) # 
Instance details

Associated Types

type ShowsPrec arg arg arg :: Symbol #

type Show_ arg :: Symbol #

type ShowList arg arg :: Symbol #

PShow (Max a) # 
Instance details

Associated Types

type ShowsPrec arg arg arg :: Symbol #

type Show_ arg :: Symbol #

type ShowList arg arg :: Symbol #

PShow (First a) # 
Instance details

Associated Types

type ShowsPrec arg arg arg :: Symbol #

type Show_ arg :: Symbol #

type ShowList arg arg :: Symbol #

PShow (Last a) # 
Instance details

Associated Types

type ShowsPrec arg arg arg :: Symbol #

type Show_ arg :: Symbol #

type ShowList arg arg :: Symbol #

PShow (WrappedMonoid m) # 
Instance details

Associated Types

type ShowsPrec arg arg arg :: Symbol #

type Show_ arg :: Symbol #

type ShowList arg arg :: Symbol #

PShow (Option a) # 
Instance details

Associated Types

type ShowsPrec arg arg arg :: Symbol #

type Show_ arg :: Symbol #

type ShowList arg arg :: Symbol #

PShow (Dual a) # 
Instance details

Associated Types

type ShowsPrec arg arg arg :: Symbol #

type Show_ arg :: Symbol #

type ShowList arg arg :: Symbol #

PShow (Sum a) # 
Instance details

Associated Types

type ShowsPrec arg arg arg :: Symbol #

type Show_ arg :: Symbol #

type ShowList arg arg :: Symbol #

PShow (Product a) # 
Instance details

Associated Types

type ShowsPrec arg arg arg :: Symbol #

type Show_ arg :: Symbol #

type ShowList arg arg :: Symbol #

(SOrd a, SBounded a) => SMonoid (Min a) # 
Instance details

(SOrd a, SBounded a) => SMonoid (Max a) # 
Instance details

SMonoid m => SMonoid (WrappedMonoid m) # 
Instance details

SSemigroup a => SMonoid (Option a) # 
Instance details

PMonoid (Min a) # 
Instance details

Associated Types

type Mempty :: a #

type Mappend arg arg :: a #

type Mconcat arg :: a #

PMonoid (Max a) # 
Instance details

Associated Types

type Mempty :: a #

type Mappend arg arg :: a #

type Mconcat arg :: a #

PMonoid (WrappedMonoid m) # 
Instance details

Associated Types

type Mempty :: a #

type Mappend arg arg :: a #

type Mconcat arg :: a #

PMonoid (Option a) # 
Instance details

Associated Types

type Mempty :: a #

type Mappend arg arg :: a #

type Mconcat arg :: a #

SFoldable (Arg a) # 
Instance details

Methods

sFold :: SMonoid m => Sing t -> Sing (Apply FoldSym0 t) #

sFoldMap :: SMonoid m => Sing t -> Sing t -> Sing (Apply (Apply FoldMapSym0 t) t) #

sFoldr :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldrSym0 t) t) t) #

sFoldr' :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldr'Sym0 t) t) t) #

sFoldl :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldlSym0 t) t) t) #

sFoldl' :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldl'Sym0 t) t) t) #

sFoldr1 :: Sing t -> Sing t -> Sing (Apply (Apply Foldr1Sym0 t) t) #

sFoldl1 :: Sing t -> Sing t -> Sing (Apply (Apply Foldl1Sym0 t) t) #

sToList :: Sing t -> Sing (Apply ToListSym0 t) #

sNull :: Sing t -> Sing (Apply NullSym0 t) #

sLength :: Sing t -> Sing (Apply LengthSym0 t) #

sElem :: SEq a0 => Sing t -> Sing t -> Sing (Apply (Apply ElemSym0 t) t) #

sMaximum :: SOrd a0 => Sing t -> Sing (Apply MaximumSym0 t) #

sMinimum :: SOrd a0 => Sing t -> Sing (Apply MinimumSym0 t) #

sSum :: SNum a0 => Sing t -> Sing (Apply SumSym0 t) #

sProduct :: SNum a0 => Sing t -> Sing (Apply ProductSym0 t) #

PFoldable (Arg a) # 
Instance details

Associated Types

type Fold arg :: m #

type FoldMap arg arg :: m #

type Foldr arg arg arg :: b #

type Foldr' arg arg arg :: b #

type Foldl arg arg arg :: b #

type Foldl' arg arg arg :: b #

type Foldr1 arg arg :: a #

type Foldl1 arg arg :: a #

type ToList arg :: [a] #

type Null arg :: Bool #

type Length arg :: Nat #

type Elem arg arg :: Bool #

type Maximum arg :: a #

type Minimum arg :: a #

type Sum arg :: a #

type Product arg :: a #

STraversable (Arg a) # 
Instance details

PTraversable (Arg a) # 
Instance details

Associated Types

type Traverse arg arg :: f (t b) #

type SequenceA arg :: f (t a) #

type MapM arg arg :: m (t b) #

type Sequence arg :: m (t a) #

ShowSing a => Show (Sing z) # 
Instance details

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b) => Show (Sing z) # 
Instance details

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing m => Show (Sing z) # 
Instance details

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing (Maybe a) => Show (Sing z) # 
Instance details

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing Bool => Show (Sing z) # 
Instance details

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing Bool => Show (Sing z) # 
Instance details

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(SingKind a, SingKind b) => SingKind (Arg a b) # 
Instance details

Associated Types

type Demote (Arg a b) = (r :: Type) #

Methods

fromSing :: Sing a0 -> Demote (Arg a b) #

toSing :: Demote (Arg a b) -> SomeSing (Arg a b) #

PEq (Arg a b) # 
Instance details

Associated Types

type x == y :: Bool #

type x /= y :: Bool #

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

Methods

(%==) :: Sing a0 -> Sing b0 -> Sing (a0 == b0) #

(%/=) :: Sing a0 -> Sing b0 -> Sing (a0 /= b0) #

SOrd a => SOrd (Arg a b) # 
Instance details

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) #

POrd (Arg a b) # 
Instance details

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

(SShow a, SShow b) => SShow (Arg a b) # 
Instance details

Methods

sShowsPrec :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) #

sShow_ :: Sing t -> Sing (Apply Show_Sym0 t) #

sShowList :: Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) #

PShow (Arg a b) # 
Instance details

Associated Types

type ShowsPrec arg arg arg :: Symbol #

type Show_ arg :: Symbol #

type ShowList arg arg :: Symbol #

SingI d => SingI (TyCon1 (Arg d :: b -> Arg a b) :: b ~> Arg a b) # 
Instance details

Methods

sing :: Sing (TyCon1 (Arg0 d)) #

(SingI n1, SingI n2) => SingI (Arg n1 n2 :: Arg a b) # 
Instance details

Methods

sing :: Sing (Arg0 n1 n2) #

SingI (TyCon2 (Arg :: a -> b -> Arg a b) :: a ~> (b ~> Arg a b)) # 
Instance details

Methods

sing :: Sing (TyCon2 Arg0) #