singletons-2.6: 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.Functor

Description

Defines the promoted and singled versions of the Functor type class.

Synopsis
  • class PFunctor (f :: Type -> Type) where
    • type Fmap (arg :: (~>) a b) (arg :: f a) :: f b
    • type (arg :: a) <$ (arg :: f b) :: f a
  • class SFunctor (f :: Type -> Type) where
  • type family (a :: f a) $> (a :: b) :: f b where ...
  • (%$>) :: forall f a b (t :: f a) (t :: b). SFunctor f => Sing t -> Sing t -> Sing (Apply (Apply ($>@#@$) t) t :: f b)
  • type family (a :: (~>) a b) <$> (a :: f a) :: f b where ...
  • (%<$>) :: forall a b f (t :: (~>) a b) (t :: f a). SFunctor f => Sing t -> Sing t -> Sing (Apply (Apply (<$>@#@$) t) t :: f b)
  • type family (a :: f a) <&> (a :: (~>) a b) :: f b where ...
  • (%<&>) :: forall f a b (t :: f a) (t :: (~>) a b). SFunctor f => Sing t -> Sing t -> Sing (Apply (Apply (<&>@#@$) t) t :: f b)
  • type family Void (a :: f a) :: f () where ...
  • sVoid :: forall f a (t :: f a). SFunctor f => Sing t -> Sing (Apply VoidSym0 t :: f ())
  • data FmapSym0 :: forall a6989586621679566897 b6989586621679566898 f6989586621679566896. (~>) ((~>) a6989586621679566897 b6989586621679566898) ((~>) (f6989586621679566896 a6989586621679566897) (f6989586621679566896 b6989586621679566898))
  • data FmapSym1 (arg6989586621679567288 :: (~>) a6989586621679566897 b6989586621679566898) :: forall f6989586621679566896. (~>) (f6989586621679566896 a6989586621679566897) (f6989586621679566896 b6989586621679566898)
  • type FmapSym2 (arg6989586621679567288 :: (~>) a6989586621679566897 b6989586621679566898) (arg6989586621679567289 :: f6989586621679566896 a6989586621679566897) = Fmap arg6989586621679567288 arg6989586621679567289
  • data (<$@#@$) :: forall a6989586621679566899 f6989586621679566896 b6989586621679566900. (~>) a6989586621679566899 ((~>) (f6989586621679566896 b6989586621679566900) (f6989586621679566896 a6989586621679566899))
  • data (<$@#@$$) (arg6989586621679567292 :: a6989586621679566899) :: forall f6989586621679566896 b6989586621679566900. (~>) (f6989586621679566896 b6989586621679566900) (f6989586621679566896 a6989586621679566899)
  • type (<$@#@$$$) (arg6989586621679567292 :: a6989586621679566899) (arg6989586621679567293 :: f6989586621679566896 b6989586621679566900) = (<$) arg6989586621679567292 arg6989586621679567293
  • data ($>@#@$) :: forall f6989586621679737066 a6989586621679737067 b6989586621679737068. (~>) (f6989586621679737066 a6989586621679737067) ((~>) b6989586621679737068 (f6989586621679737066 b6989586621679737068))
  • data ($>@#@$$) (a6989586621679737138 :: f6989586621679737066 a6989586621679737067) :: forall b6989586621679737068. (~>) b6989586621679737068 (f6989586621679737066 b6989586621679737068)
  • type ($>@#@$$$) (a6989586621679737138 :: f6989586621679737066 a6989586621679737067) (a6989586621679737139 :: b6989586621679737068) = ($>) a6989586621679737138 a6989586621679737139
  • data (<$>@#@$) :: forall a6989586621679737073 b6989586621679737074 f6989586621679737072. (~>) ((~>) a6989586621679737073 b6989586621679737074) ((~>) (f6989586621679737072 a6989586621679737073) (f6989586621679737072 b6989586621679737074))
  • data (<$>@#@$$) (a6989586621679737154 :: (~>) a6989586621679737073 b6989586621679737074) :: forall f6989586621679737072. (~>) (f6989586621679737072 a6989586621679737073) (f6989586621679737072 b6989586621679737074)
  • type (<$>@#@$$$) (a6989586621679737154 :: (~>) a6989586621679737073 b6989586621679737074) (a6989586621679737155 :: f6989586621679737072 a6989586621679737073) = (<$>) a6989586621679737154 a6989586621679737155
  • data (<&>@#@$) :: forall f6989586621679737069 a6989586621679737070 b6989586621679737071. (~>) (f6989586621679737069 a6989586621679737070) ((~>) ((~>) a6989586621679737070 b6989586621679737071) (f6989586621679737069 b6989586621679737071))
  • data (<&>@#@$$) (a6989586621679737144 :: f6989586621679737069 a6989586621679737070) :: forall b6989586621679737071. (~>) ((~>) a6989586621679737070 b6989586621679737071) (f6989586621679737069 b6989586621679737071)
  • type (<&>@#@$$$) (a6989586621679737144 :: f6989586621679737069 a6989586621679737070) (a6989586621679737145 :: (~>) a6989586621679737070 b6989586621679737071) = (<&>) a6989586621679737144 a6989586621679737145
  • data VoidSym0 :: forall f6989586621679737064 a6989586621679737065. (~>) (f6989586621679737064 a6989586621679737065) (f6989586621679737064 ())
  • type VoidSym1 (a6989586621679737131 :: f6989586621679737064 a6989586621679737065) = Void a6989586621679737131

Documentation

class PFunctor (f :: Type -> Type) Source #

Associated Types

type Fmap (arg :: (~>) a b) (arg :: f a) :: f b Source #

type (arg :: a) <$ (arg :: f b) :: f a infixl 4 Source #

type (<$) a a = Apply (Apply TFHelper_6989586621679567298Sym0 a) a Source #

Instances

Instances details
PFunctor [] Source # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

Associated Types

type Fmap arg arg :: f b Source #

type arg <$ arg :: f a Source #

PFunctor Maybe Source # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

Associated Types

type Fmap arg arg :: f b Source #

type arg <$ arg :: f a Source #

PFunctor NonEmpty Source # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

Associated Types

type Fmap arg arg :: f b Source #

type arg <$ arg :: f a Source #

PFunctor Down Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

Associated Types

type Fmap arg arg :: f b Source #

type arg <$ arg :: f a Source #

PFunctor Identity Source # 
Instance details

Defined in Data.Singletons.Prelude.Identity

Associated Types

type Fmap arg arg :: f b Source #

type arg <$ arg :: f a Source #

PFunctor First Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Fmap arg arg :: f b Source #

type arg <$ arg :: f a Source #

PFunctor Last Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Fmap arg arg :: f b Source #

type arg <$ arg :: f a Source #

PFunctor Max Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Fmap arg arg :: f b Source #

type arg <$ arg :: f a Source #

PFunctor Min Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Fmap arg arg :: f b Source #

type arg <$ arg :: f a Source #

PFunctor Option Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Fmap arg arg :: f b Source #

type arg <$ arg :: f a Source #

PFunctor Dual Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Fmap arg arg :: f b Source #

type arg <$ arg :: f a Source #

PFunctor Product Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Fmap arg arg :: f b Source #

type arg <$ arg :: f a Source #

PFunctor Sum Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Fmap arg arg :: f b Source #

type arg <$ arg :: f a Source #

PFunctor First Source # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Associated Types

type Fmap arg arg :: f b Source #

type arg <$ arg :: f a Source #

PFunctor Last Source # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Associated Types

type Fmap arg arg :: f b Source #

type arg <$ arg :: f a Source #

PFunctor (Either a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

Associated Types

type Fmap arg arg :: f b Source #

type arg <$ arg :: f a Source #

PFunctor ((,) a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

Associated Types

type Fmap arg arg :: f b Source #

type arg <$ arg :: f a Source #

PFunctor (Arg a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Fmap arg arg :: f b Source #

type arg <$ arg :: f a Source #

PFunctor (Const m :: Type -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

Associated Types

type Fmap arg arg :: f b Source #

type arg <$ arg :: f a Source #

class SFunctor (f :: Type -> Type) where Source #

Minimal complete definition

sFmap

Methods

sFmap :: forall a b (t :: (~>) a b) (t :: f a). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t :: f b) Source #

(%<$) :: forall a b (t :: a) (t :: f b). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t :: f a) infixl 4 Source #

default (%<$) :: forall a b (t :: a) (t :: f b). (Apply (Apply (<$@#@$) t) t :: f a) ~ Apply (Apply TFHelper_6989586621679567298Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t :: f a) Source #

Instances

Instances details
SFunctor [] Source # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

Methods

sFmap :: forall a b (t :: a ~> b) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) Source #

(%<$) :: forall a b (t :: a) (t :: [b]). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) Source #

SFunctor Maybe Source # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

Methods

sFmap :: forall a b (t :: a ~> b) (t :: Maybe a). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) Source #

(%<$) :: forall a b (t :: a) (t :: Maybe b). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) Source #

SFunctor NonEmpty Source # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

Methods

sFmap :: forall a b (t :: a ~> b) (t :: NonEmpty a). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) Source #

(%<$) :: forall a b (t :: a) (t :: NonEmpty b). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) Source #

SFunctor Down Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

Methods

sFmap :: forall a b (t :: a ~> b) (t :: Down a). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) Source #

(%<$) :: forall a b (t :: a) (t :: Down b). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) Source #

SFunctor Identity Source # 
Instance details

Defined in Data.Singletons.Prelude.Identity

Methods

sFmap :: forall a b (t :: a ~> b) (t :: Identity a). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) Source #

(%<$) :: forall a b (t :: a) (t :: Identity b). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) Source #

SFunctor First Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

sFmap :: forall a b (t :: a ~> b) (t :: First a). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) Source #

(%<$) :: forall a b (t :: a) (t :: First b). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) Source #

SFunctor Last Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

sFmap :: forall a b (t :: a ~> b) (t :: Last a). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) Source #

(%<$) :: forall a b (t :: a) (t :: Last b). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) Source #

SFunctor Max Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

sFmap :: forall a b (t :: a ~> b) (t :: Max a). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) Source #

(%<$) :: forall a b (t :: a) (t :: Max b). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) Source #

SFunctor Min Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

sFmap :: forall a b (t :: a ~> b) (t :: Min a). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) Source #

(%<$) :: forall a b (t :: a) (t :: Min b). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) Source #

SFunctor Option Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

sFmap :: forall a b (t :: a ~> b) (t :: Option a). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) Source #

(%<$) :: forall a b (t :: a) (t :: Option b). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) Source #

SFunctor Dual Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sFmap :: forall a b (t :: a ~> b) (t :: Dual a). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) Source #

(%<$) :: forall a b (t :: a) (t :: Dual b). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) Source #

SFunctor Product Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sFmap :: forall a b (t :: a ~> b) (t :: Product a). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) Source #

(%<$) :: forall a b (t :: a) (t :: Product b). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) Source #

SFunctor Sum Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sFmap :: forall a b (t :: a ~> b) (t :: Sum a). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) Source #

(%<$) :: forall a b (t :: a) (t :: Sum b). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) Source #

SFunctor First Source # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Methods

sFmap :: forall a b (t :: a ~> b) (t :: First a). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) Source #

(%<$) :: forall a b (t :: a) (t :: First b). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) Source #

SFunctor Last Source # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Methods

sFmap :: forall a b (t :: a ~> b) (t :: Last a). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) Source #

(%<$) :: forall a b (t :: a) (t :: Last b). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) Source #

SFunctor (Either a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

Methods

sFmap :: forall a0 b (t :: a0 ~> b) (t :: Either a a0). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) Source #

(%<$) :: forall a0 b (t :: a0) (t :: Either a b). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) Source #

SFunctor ((,) a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

Methods

sFmap :: forall a0 b (t :: a0 ~> b) (t :: (a, a0)). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) Source #

(%<$) :: forall a0 b (t :: a0) (t :: (a, b)). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) Source #

SFunctor (Arg a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

sFmap :: forall a0 b (t :: a0 ~> b) (t :: Arg a a0). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) Source #

(%<$) :: forall a0 b (t :: a0) (t :: Arg a b). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) Source #

SFunctor (Const m :: Type -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

Methods

sFmap :: forall a b (t :: a ~> b) (t :: Const m a). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) Source #

(%<$) :: forall a b (t :: a) (t :: Const m b). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) Source #

type family (a :: f a) $> (a :: b) :: f b where ... infixl 4 Source #

Equations

a_6989586621679737134 $> a_6989586621679737136 = Apply (Apply (Apply FlipSym0 (<$@#@$)) a_6989586621679737134) a_6989586621679737136 

(%$>) :: forall f a b (t :: f a) (t :: b). SFunctor f => Sing t -> Sing t -> Sing (Apply (Apply ($>@#@$) t) t :: f b) infixl 4 Source #

type family (a :: (~>) a b) <$> (a :: f a) :: f b where ... infixl 4 Source #

Equations

a_6989586621679737150 <$> a_6989586621679737152 = Apply (Apply FmapSym0 a_6989586621679737150) a_6989586621679737152 

(%<$>) :: forall a b f (t :: (~>) a b) (t :: f a). SFunctor f => Sing t -> Sing t -> Sing (Apply (Apply (<$>@#@$) t) t :: f b) infixl 4 Source #

type family (a :: f a) <&> (a :: (~>) a b) :: f b where ... infixl 1 Source #

Equations

as <&> f = Apply (Apply (<$>@#@$) f) as 

(%<&>) :: forall f a b (t :: f a) (t :: (~>) a b). SFunctor f => Sing t -> Sing t -> Sing (Apply (Apply (<&>@#@$) t) t :: f b) infixl 1 Source #

type family Void (a :: f a) :: f () where ... Source #

Equations

Void x = Apply (Apply (<$@#@$) Tuple0Sym0) x 

sVoid :: forall f a (t :: f a). SFunctor f => Sing t -> Sing (Apply VoidSym0 t :: f ()) Source #

Defunctionalization symbols

data FmapSym0 :: forall a6989586621679566897 b6989586621679566898 f6989586621679566896. (~>) ((~>) a6989586621679566897 b6989586621679566898) ((~>) (f6989586621679566896 a6989586621679566897) (f6989586621679566896 b6989586621679566898)) Source #

Instances

Instances details
SFunctor f => SingI (FmapSym0 :: TyFun (a ~> b) (f a ~> f b) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

SuppressUnusedWarnings (FmapSym0 :: TyFun (a6989586621679566897 ~> b6989586621679566898) (f6989586621679566896 a6989586621679566897 ~> f6989586621679566896 b6989586621679566898) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply (FmapSym0 :: TyFun (a6989586621679566897 ~> b6989586621679566898) (f6989586621679566896 a6989586621679566897 ~> f6989586621679566896 b6989586621679566898) -> Type) (arg6989586621679567288 :: a6989586621679566897 ~> b6989586621679566898) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply (FmapSym0 :: TyFun (a6989586621679566897 ~> b6989586621679566898) (f6989586621679566896 a6989586621679566897 ~> f6989586621679566896 b6989586621679566898) -> Type) (arg6989586621679567288 :: a6989586621679566897 ~> b6989586621679566898) = FmapSym1 arg6989586621679567288 f6989586621679566896 :: TyFun (f6989586621679566896 a6989586621679566897) (f6989586621679566896 b6989586621679566898) -> Type

data FmapSym1 (arg6989586621679567288 :: (~>) a6989586621679566897 b6989586621679566898) :: forall f6989586621679566896. (~>) (f6989586621679566896 a6989586621679566897) (f6989586621679566896 b6989586621679566898) Source #

Instances

Instances details
(SFunctor f, SingI d) => SingI (FmapSym1 d f :: TyFun (f a) (f b) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

Methods

sing :: Sing (FmapSym1 d f) Source #

SuppressUnusedWarnings (FmapSym1 arg6989586621679567288 f6989586621679566896 :: TyFun (f6989586621679566896 a6989586621679566897) (f6989586621679566896 b6989586621679566898) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply (FmapSym1 arg6989586621679567288 f :: TyFun (f a) (f b) -> Type) (arg6989586621679567289 :: f a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply (FmapSym1 arg6989586621679567288 f :: TyFun (f a) (f b) -> Type) (arg6989586621679567289 :: f a) = Fmap arg6989586621679567288 arg6989586621679567289

type FmapSym2 (arg6989586621679567288 :: (~>) a6989586621679566897 b6989586621679566898) (arg6989586621679567289 :: f6989586621679566896 a6989586621679566897) = Fmap arg6989586621679567288 arg6989586621679567289 Source #

data (<$@#@$) :: forall a6989586621679566899 f6989586621679566896 b6989586621679566900. (~>) a6989586621679566899 ((~>) (f6989586621679566896 b6989586621679566900) (f6989586621679566896 a6989586621679566899)) infixl 4 Source #

Instances

Instances details
SFunctor f => SingI ((<$@#@$) :: TyFun a (f b ~> f a) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

SuppressUnusedWarnings ((<$@#@$) :: TyFun a6989586621679566899 (f6989586621679566896 b6989586621679566900 ~> f6989586621679566896 a6989586621679566899) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply ((<$@#@$) :: TyFun a6989586621679566899 (f6989586621679566896 b6989586621679566900 ~> f6989586621679566896 a6989586621679566899) -> Type) (arg6989586621679567292 :: a6989586621679566899) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply ((<$@#@$) :: TyFun a6989586621679566899 (f6989586621679566896 b6989586621679566900 ~> f6989586621679566896 a6989586621679566899) -> Type) (arg6989586621679567292 :: a6989586621679566899) = (arg6989586621679567292 <$@#@$$ f6989586621679566896) b6989586621679566900 :: TyFun (f6989586621679566896 b6989586621679566900) (f6989586621679566896 a6989586621679566899) -> Type

data (<$@#@$$) (arg6989586621679567292 :: a6989586621679566899) :: forall f6989586621679566896 b6989586621679566900. (~>) (f6989586621679566896 b6989586621679566900) (f6989586621679566896 a6989586621679566899) infixl 4 Source #

Instances

Instances details
(SFunctor f, SingI d) => SingI ((d <$@#@$$ f) b :: TyFun (f b) (f a) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

Methods

sing :: Sing ((d <$@#@$$ f) b) Source #

SuppressUnusedWarnings ((arg6989586621679567292 <$@#@$$ f6989586621679566896) b6989586621679566900 :: TyFun (f6989586621679566896 b6989586621679566900) (f6989586621679566896 a6989586621679566899) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply ((arg6989586621679567292 <$@#@$$ f) b :: TyFun (f b) (f a) -> Type) (arg6989586621679567293 :: f b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply ((arg6989586621679567292 <$@#@$$ f) b :: TyFun (f b) (f a) -> Type) (arg6989586621679567293 :: f b) = arg6989586621679567292 <$ arg6989586621679567293

type (<$@#@$$$) (arg6989586621679567292 :: a6989586621679566899) (arg6989586621679567293 :: f6989586621679566896 b6989586621679566900) = (<$) arg6989586621679567292 arg6989586621679567293 Source #

data ($>@#@$) :: forall f6989586621679737066 a6989586621679737067 b6989586621679737068. (~>) (f6989586621679737066 a6989586621679737067) ((~>) b6989586621679737068 (f6989586621679737066 b6989586621679737068)) infixl 4 Source #

Instances

Instances details
SFunctor f => SingI (($>@#@$) :: TyFun (f a) (b ~> f b) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

SuppressUnusedWarnings (($>@#@$) :: TyFun (f6989586621679737066 a6989586621679737067) (b6989586621679737068 ~> f6989586621679737066 b6989586621679737068) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply (($>@#@$) :: TyFun (f6989586621679737066 a6989586621679737067) (b6989586621679737068 ~> f6989586621679737066 b6989586621679737068) -> Type) (a6989586621679737138 :: f6989586621679737066 a6989586621679737067) Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply (($>@#@$) :: TyFun (f6989586621679737066 a6989586621679737067) (b6989586621679737068 ~> f6989586621679737066 b6989586621679737068) -> Type) (a6989586621679737138 :: f6989586621679737066 a6989586621679737067) = a6989586621679737138 $>@#@$$ b6989586621679737068 :: TyFun b6989586621679737068 (f6989586621679737066 b6989586621679737068) -> Type

data ($>@#@$$) (a6989586621679737138 :: f6989586621679737066 a6989586621679737067) :: forall b6989586621679737068. (~>) b6989586621679737068 (f6989586621679737066 b6989586621679737068) infixl 4 Source #

Instances

Instances details
(SFunctor f, SingI d) => SingI (d $>@#@$$ b :: TyFun b (f b) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

Methods

sing :: Sing (d $>@#@$$ b) Source #

SuppressUnusedWarnings (a6989586621679737138 $>@#@$$ b6989586621679737068 :: TyFun b6989586621679737068 (f6989586621679737066 b6989586621679737068) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply (a6989586621679737138 $>@#@$$ b :: TyFun b (f b) -> Type) (a6989586621679737139 :: b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply (a6989586621679737138 $>@#@$$ b :: TyFun b (f b) -> Type) (a6989586621679737139 :: b) = a6989586621679737138 $> a6989586621679737139

type ($>@#@$$$) (a6989586621679737138 :: f6989586621679737066 a6989586621679737067) (a6989586621679737139 :: b6989586621679737068) = ($>) a6989586621679737138 a6989586621679737139 Source #

data (<$>@#@$) :: forall a6989586621679737073 b6989586621679737074 f6989586621679737072. (~>) ((~>) a6989586621679737073 b6989586621679737074) ((~>) (f6989586621679737072 a6989586621679737073) (f6989586621679737072 b6989586621679737074)) infixl 4 Source #

Instances

Instances details
SFunctor f => SingI ((<$>@#@$) :: TyFun (a ~> b) (f a ~> f b) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

SuppressUnusedWarnings ((<$>@#@$) :: TyFun (a6989586621679737073 ~> b6989586621679737074) (f6989586621679737072 a6989586621679737073 ~> f6989586621679737072 b6989586621679737074) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply ((<$>@#@$) :: TyFun (a6989586621679737073 ~> b6989586621679737074) (f6989586621679737072 a6989586621679737073 ~> f6989586621679737072 b6989586621679737074) -> Type) (a6989586621679737154 :: a6989586621679737073 ~> b6989586621679737074) Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply ((<$>@#@$) :: TyFun (a6989586621679737073 ~> b6989586621679737074) (f6989586621679737072 a6989586621679737073 ~> f6989586621679737072 b6989586621679737074) -> Type) (a6989586621679737154 :: a6989586621679737073 ~> b6989586621679737074) = a6989586621679737154 <$>@#@$$ f6989586621679737072 :: TyFun (f6989586621679737072 a6989586621679737073) (f6989586621679737072 b6989586621679737074) -> Type

data (<$>@#@$$) (a6989586621679737154 :: (~>) a6989586621679737073 b6989586621679737074) :: forall f6989586621679737072. (~>) (f6989586621679737072 a6989586621679737073) (f6989586621679737072 b6989586621679737074) infixl 4 Source #

Instances

Instances details
(SFunctor f, SingI d) => SingI (d <$>@#@$$ f :: TyFun (f a) (f b) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

Methods

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

SuppressUnusedWarnings (a6989586621679737154 <$>@#@$$ f6989586621679737072 :: TyFun (f6989586621679737072 a6989586621679737073) (f6989586621679737072 b6989586621679737074) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply (a6989586621679737154 <$>@#@$$ f :: TyFun (f a) (f b) -> Type) (a6989586621679737155 :: f a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply (a6989586621679737154 <$>@#@$$ f :: TyFun (f a) (f b) -> Type) (a6989586621679737155 :: f a) = a6989586621679737154 <$> a6989586621679737155

type (<$>@#@$$$) (a6989586621679737154 :: (~>) a6989586621679737073 b6989586621679737074) (a6989586621679737155 :: f6989586621679737072 a6989586621679737073) = (<$>) a6989586621679737154 a6989586621679737155 Source #

data (<&>@#@$) :: forall f6989586621679737069 a6989586621679737070 b6989586621679737071. (~>) (f6989586621679737069 a6989586621679737070) ((~>) ((~>) a6989586621679737070 b6989586621679737071) (f6989586621679737069 b6989586621679737071)) infixl 1 Source #

Instances

Instances details
SFunctor f => SingI ((<&>@#@$) :: TyFun (f a) ((a ~> b) ~> f b) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

SuppressUnusedWarnings ((<&>@#@$) :: TyFun (f6989586621679737069 a6989586621679737070) ((a6989586621679737070 ~> b6989586621679737071) ~> f6989586621679737069 b6989586621679737071) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply ((<&>@#@$) :: TyFun (f6989586621679737069 a6989586621679737070) ((a6989586621679737070 ~> b6989586621679737071) ~> f6989586621679737069 b6989586621679737071) -> Type) (a6989586621679737144 :: f6989586621679737069 a6989586621679737070) Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply ((<&>@#@$) :: TyFun (f6989586621679737069 a6989586621679737070) ((a6989586621679737070 ~> b6989586621679737071) ~> f6989586621679737069 b6989586621679737071) -> Type) (a6989586621679737144 :: f6989586621679737069 a6989586621679737070) = a6989586621679737144 <&>@#@$$ b6989586621679737071 :: TyFun (a6989586621679737070 ~> b6989586621679737071) (f6989586621679737069 b6989586621679737071) -> Type

data (<&>@#@$$) (a6989586621679737144 :: f6989586621679737069 a6989586621679737070) :: forall b6989586621679737071. (~>) ((~>) a6989586621679737070 b6989586621679737071) (f6989586621679737069 b6989586621679737071) infixl 1 Source #

Instances

Instances details
(SFunctor f, SingI d) => SingI (d <&>@#@$$ b :: TyFun (a ~> b) (f b) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

Methods

sing :: Sing (d <&>@#@$$ b) Source #

SuppressUnusedWarnings (a6989586621679737144 <&>@#@$$ b6989586621679737071 :: TyFun (a6989586621679737070 ~> b6989586621679737071) (f6989586621679737069 b6989586621679737071) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply (a6989586621679737144 <&>@#@$$ b :: TyFun (a ~> b) (f b) -> Type) (a6989586621679737145 :: a ~> b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply (a6989586621679737144 <&>@#@$$ b :: TyFun (a ~> b) (f b) -> Type) (a6989586621679737145 :: a ~> b) = a6989586621679737144 <&> a6989586621679737145

type (<&>@#@$$$) (a6989586621679737144 :: f6989586621679737069 a6989586621679737070) (a6989586621679737145 :: (~>) a6989586621679737070 b6989586621679737071) = (<&>) a6989586621679737144 a6989586621679737145 Source #

data VoidSym0 :: forall f6989586621679737064 a6989586621679737065. (~>) (f6989586621679737064 a6989586621679737065) (f6989586621679737064 ()) Source #

Instances

Instances details
SFunctor f => SingI (VoidSym0 :: TyFun (f a) (f ()) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

SuppressUnusedWarnings (VoidSym0 :: TyFun (f6989586621679737064 a6989586621679737065) (f6989586621679737064 ()) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply (VoidSym0 :: TyFun (f a) (f ()) -> Type) (a6989586621679737131 :: f a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply (VoidSym0 :: TyFun (f a) (f ()) -> Type) (a6989586621679737131 :: f a) = Void a6989586621679737131

type VoidSym1 (a6989586621679737131 :: f6989586621679737064 a6989586621679737065) = Void a6989586621679737131 Source #

Orphan instances

SFunctor Down Source # 
Instance details

Methods

sFmap :: forall a b (t :: a ~> b) (t :: Down a). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) Source #

(%<$) :: forall a b (t :: a) (t :: Down b). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) Source #

PFunctor Down Source # 
Instance details

Associated Types

type Fmap arg arg :: f b Source #

type arg <$ arg :: f a Source #

SFunctor ((,) a) Source # 
Instance details

Methods

sFmap :: forall a0 b (t :: a0 ~> b) (t :: (a, a0)). Sing t -> Sing t -> Sing (Apply (Apply FmapSym0 t) t) Source #

(%<$) :: forall a0 b (t :: a0) (t :: (a, b)). Sing t -> Sing t -> Sing (Apply (Apply (<$@#@$) t) t) Source #

PFunctor ((,) a) Source # 
Instance details

Associated Types

type Fmap arg arg :: f b Source #

type arg <$ arg :: f a Source #