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.Functor

Contents

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 f a b (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 a6989586621679563423 b6989586621679563424 f6989586621679563422. (~>) ((~>) a6989586621679563423 b6989586621679563424) ((~>) (f6989586621679563422 a6989586621679563423) (f6989586621679563422 b6989586621679563424))
  • data FmapSym1 (arg6989586621679563816 :: (~>) a6989586621679563423 b6989586621679563424) :: forall f6989586621679563422. (~>) (f6989586621679563422 a6989586621679563423) (f6989586621679563422 b6989586621679563424)
  • type FmapSym2 (arg6989586621679563816 :: (~>) a6989586621679563423 b6989586621679563424) (arg6989586621679563817 :: f6989586621679563422 a6989586621679563423) = Fmap arg6989586621679563816 arg6989586621679563817
  • data (<$@#@$) :: forall a6989586621679563425 b6989586621679563426 f6989586621679563422. (~>) a6989586621679563425 ((~>) (f6989586621679563422 b6989586621679563426) (f6989586621679563422 a6989586621679563425))
  • data (<$@#@$$) (arg6989586621679563820 :: a6989586621679563425) :: forall b6989586621679563426 f6989586621679563422. (~>) (f6989586621679563422 b6989586621679563426) (f6989586621679563422 a6989586621679563425)
  • type (<$@#@$$$) (arg6989586621679563820 :: a6989586621679563425) (arg6989586621679563821 :: f6989586621679563422 b6989586621679563426) = (<$) arg6989586621679563820 arg6989586621679563821
  • data ($>@#@$) :: forall a6989586621679735746 b6989586621679735747 f6989586621679735745. (~>) (f6989586621679735745 a6989586621679735746) ((~>) b6989586621679735747 (f6989586621679735745 b6989586621679735747))
  • data ($>@#@$$) (a6989586621679735822 :: f6989586621679735745 a6989586621679735746) :: forall b6989586621679735747. (~>) b6989586621679735747 (f6989586621679735745 b6989586621679735747)
  • type ($>@#@$$$) (a6989586621679735822 :: f6989586621679735745 a6989586621679735746) (a6989586621679735823 :: b6989586621679735747) = ($>) a6989586621679735822 a6989586621679735823
  • data (<$>@#@$) :: forall a6989586621679735752 b6989586621679735753 f6989586621679735751. (~>) ((~>) a6989586621679735752 b6989586621679735753) ((~>) (f6989586621679735751 a6989586621679735752) (f6989586621679735751 b6989586621679735753))
  • data (<$>@#@$$) (a6989586621679735832 :: (~>) a6989586621679735752 b6989586621679735753) :: forall f6989586621679735751. (~>) (f6989586621679735751 a6989586621679735752) (f6989586621679735751 b6989586621679735753)
  • type (<$>@#@$$$) (a6989586621679735832 :: (~>) a6989586621679735752 b6989586621679735753) (a6989586621679735833 :: f6989586621679735751 a6989586621679735752) = (<$>) a6989586621679735832 a6989586621679735833
  • data (<&>@#@$) :: forall a6989586621679735749 b6989586621679735750 f6989586621679735748. (~>) (f6989586621679735748 a6989586621679735749) ((~>) ((~>) a6989586621679735749 b6989586621679735750) (f6989586621679735748 b6989586621679735750))
  • data (<&>@#@$$) (a6989586621679735838 :: f6989586621679735748 a6989586621679735749) :: forall b6989586621679735750. (~>) ((~>) a6989586621679735749 b6989586621679735750) (f6989586621679735748 b6989586621679735750)
  • type (<&>@#@$$$) (a6989586621679735838 :: f6989586621679735748 a6989586621679735749) (a6989586621679735839 :: (~>) a6989586621679735749 b6989586621679735750) = (<&>) a6989586621679735838 a6989586621679735839
  • data VoidSym0 :: forall a6989586621679735744 f6989586621679735743. (~>) (f6989586621679735743 a6989586621679735744) (f6989586621679735743 ())
  • type VoidSym1 (a6989586621679735815 :: f6989586621679735743 a6989586621679735744) = Void a6989586621679735815

Documentation

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

Associated Types

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

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

Instances
PFunctor [] # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

PFunctor Maybe # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

PFunctor Min # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

PFunctor Max # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

PFunctor First # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

PFunctor Last # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

PFunctor Option # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

PFunctor Identity # 
Instance details

Defined in Data.Singletons.Prelude.Identity

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

PFunctor First # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

PFunctor Last # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

PFunctor Dual # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

PFunctor Sum # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

PFunctor Product # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

PFunctor Down # 
Instance details

Defined in Data.Singletons.Prelude.Functor

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

PFunctor NonEmpty # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

PFunctor (Either a) # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

PFunctor ((,) a) # 
Instance details

Defined in Data.Singletons.Prelude.Functor

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

PFunctor (Arg a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

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

Defined in Data.Singletons.Prelude.Const

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

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

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) #

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

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

Instances
SFunctor [] # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

Methods

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

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

SFunctor Maybe # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

Methods

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

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

SFunctor Min # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

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

Defined in Data.Singletons.Prelude.Semigroup

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

Defined in Data.Singletons.Prelude.Semigroup

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

Defined in Data.Singletons.Prelude.Semigroup

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

Defined in Data.Singletons.Prelude.Semigroup

Methods

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

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

SFunctor Identity # 
Instance details

Defined in Data.Singletons.Prelude.Identity

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

Defined in Data.Singletons.Prelude.Monoid

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

Defined in Data.Singletons.Prelude.Monoid

Methods

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

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

SFunctor Dual # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

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

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

SFunctor Sum # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

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

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

SFunctor Product # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

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

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

SFunctor Down # 
Instance details

Defined in Data.Singletons.Prelude.Functor

Methods

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

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

SFunctor NonEmpty # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

Methods

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

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

SFunctor (Either a) # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

Methods

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

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

SFunctor ((,) a) # 
Instance details

Defined in Data.Singletons.Prelude.Functor

Methods

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

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

SFunctor (Arg a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

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

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

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

Defined in Data.Singletons.Prelude.Const

Methods

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

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

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

Equations

a_6989586621679735818 $> a_6989586621679735820 = Apply (Apply (Apply FlipSym0 (<$@#@$)) a_6989586621679735818) a_6989586621679735820 

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

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

Equations

a_6989586621679735828 <$> a_6989586621679735830 = Apply (Apply FmapSym0 a_6989586621679735828) a_6989586621679735830 

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

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

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 #

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

Equations

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

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

Defunctionalization symbols

data FmapSym0 :: forall a6989586621679563423 b6989586621679563424 f6989586621679563422. (~>) ((~>) a6989586621679563423 b6989586621679563424) ((~>) (f6989586621679563422 a6989586621679563423) (f6989586621679563422 b6989586621679563424)) #

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

Defined in Data.Singletons.Prelude.Monad.Internal

Methods

sing :: Sing FmapSym0 #

SuppressUnusedWarnings (FmapSym0 :: TyFun (a6989586621679563423 ~> b6989586621679563424) (f6989586621679563422 a6989586621679563423 ~> f6989586621679563422 b6989586621679563424) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply (FmapSym0 :: TyFun (a6989586621679563423 ~> b6989586621679563424) (f6989586621679563422 a6989586621679563423 ~> f6989586621679563422 b6989586621679563424) -> Type) (arg6989586621679563816 :: a6989586621679563423 ~> b6989586621679563424) # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply (FmapSym0 :: TyFun (a6989586621679563423 ~> b6989586621679563424) (f6989586621679563422 a6989586621679563423 ~> f6989586621679563422 b6989586621679563424) -> Type) (arg6989586621679563816 :: a6989586621679563423 ~> b6989586621679563424) = (FmapSym1 arg6989586621679563816 f6989586621679563422 :: TyFun (f6989586621679563422 a6989586621679563423) (f6989586621679563422 b6989586621679563424) -> Type)

data FmapSym1 (arg6989586621679563816 :: (~>) a6989586621679563423 b6989586621679563424) :: forall f6989586621679563422. (~>) (f6989586621679563422 a6989586621679563423) (f6989586621679563422 b6989586621679563424) #

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

Defined in Data.Singletons.Prelude.Monad.Internal

Methods

sing :: Sing (FmapSym1 d f) #

SuppressUnusedWarnings (FmapSym1 arg6989586621679563816 f6989586621679563422 :: TyFun (f6989586621679563422 a6989586621679563423) (f6989586621679563422 b6989586621679563424) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply (FmapSym1 arg6989586621679563816 f :: TyFun (f a) (f b) -> Type) (arg6989586621679563817 :: f a) # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply (FmapSym1 arg6989586621679563816 f :: TyFun (f a) (f b) -> Type) (arg6989586621679563817 :: f a) = Fmap arg6989586621679563816 arg6989586621679563817

type FmapSym2 (arg6989586621679563816 :: (~>) a6989586621679563423 b6989586621679563424) (arg6989586621679563817 :: f6989586621679563422 a6989586621679563423) = Fmap arg6989586621679563816 arg6989586621679563817 #

data (<$@#@$) :: forall a6989586621679563425 b6989586621679563426 f6989586621679563422. (~>) a6989586621679563425 ((~>) (f6989586621679563422 b6989586621679563426) (f6989586621679563422 a6989586621679563425)) infixl 4 #

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

Defined in Data.Singletons.Prelude.Monad.Internal

Methods

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

SuppressUnusedWarnings ((<$@#@$) :: TyFun a6989586621679563425 (f6989586621679563422 b6989586621679563426 ~> f6989586621679563422 a6989586621679563425) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply ((<$@#@$) :: TyFun a6989586621679563425 (f6989586621679563422 b6989586621679563426 ~> f6989586621679563422 a6989586621679563425) -> Type) (arg6989586621679563820 :: a6989586621679563425) # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply ((<$@#@$) :: TyFun a6989586621679563425 (f6989586621679563422 b6989586621679563426 ~> f6989586621679563422 a6989586621679563425) -> Type) (arg6989586621679563820 :: a6989586621679563425) = ((arg6989586621679563820 <$@#@$$ b6989586621679563426) f6989586621679563422 :: TyFun (f6989586621679563422 b6989586621679563426) (f6989586621679563422 a6989586621679563425) -> Type)

data (<$@#@$$) (arg6989586621679563820 :: a6989586621679563425) :: forall b6989586621679563426 f6989586621679563422. (~>) (f6989586621679563422 b6989586621679563426) (f6989586621679563422 a6989586621679563425) infixl 4 #

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

Defined in Data.Singletons.Prelude.Monad.Internal

Methods

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

SuppressUnusedWarnings ((arg6989586621679563820 <$@#@$$ b6989586621679563426) f6989586621679563422 :: TyFun (f6989586621679563422 b6989586621679563426) (f6989586621679563422 a6989586621679563425) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

type Apply ((arg6989586621679563820 <$@#@$$ b) f :: TyFun (f b) (f a) -> Type) (arg6989586621679563821 :: f b) # 
Instance details

Defined in Data.Singletons.Prelude.Monad.Internal

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

type (<$@#@$$$) (arg6989586621679563820 :: a6989586621679563425) (arg6989586621679563821 :: f6989586621679563422 b6989586621679563426) = (<$) arg6989586621679563820 arg6989586621679563821 #

data ($>@#@$) :: forall a6989586621679735746 b6989586621679735747 f6989586621679735745. (~>) (f6989586621679735745 a6989586621679735746) ((~>) b6989586621679735747 (f6989586621679735745 b6989586621679735747)) infixl 4 #

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

Defined in Data.Singletons.Prelude.Functor

Methods

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

SuppressUnusedWarnings (($>@#@$) :: TyFun (f6989586621679735745 a6989586621679735746) (b6989586621679735747 ~> f6989586621679735745 b6989586621679735747) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply (($>@#@$) :: TyFun (f6989586621679735745 a6989586621679735746) (b6989586621679735747 ~> f6989586621679735745 b6989586621679735747) -> Type) (a6989586621679735822 :: f6989586621679735745 a6989586621679735746) # 
Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply (($>@#@$) :: TyFun (f6989586621679735745 a6989586621679735746) (b6989586621679735747 ~> f6989586621679735745 b6989586621679735747) -> Type) (a6989586621679735822 :: f6989586621679735745 a6989586621679735746) = (a6989586621679735822 $>@#@$$ b6989586621679735747 :: TyFun b6989586621679735747 (f6989586621679735745 b6989586621679735747) -> Type)

data ($>@#@$$) (a6989586621679735822 :: f6989586621679735745 a6989586621679735746) :: forall b6989586621679735747. (~>) b6989586621679735747 (f6989586621679735745 b6989586621679735747) infixl 4 #

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

Defined in Data.Singletons.Prelude.Functor

Methods

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

SuppressUnusedWarnings (a6989586621679735822 $>@#@$$ b6989586621679735747 :: TyFun b6989586621679735747 (f6989586621679735745 b6989586621679735747) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply (a6989586621679735822 $>@#@$$ b :: TyFun b (f b) -> Type) (a6989586621679735823 :: b) # 
Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply (a6989586621679735822 $>@#@$$ b :: TyFun b (f b) -> Type) (a6989586621679735823 :: b) = a6989586621679735822 $> a6989586621679735823

type ($>@#@$$$) (a6989586621679735822 :: f6989586621679735745 a6989586621679735746) (a6989586621679735823 :: b6989586621679735747) = ($>) a6989586621679735822 a6989586621679735823 #

data (<$>@#@$) :: forall a6989586621679735752 b6989586621679735753 f6989586621679735751. (~>) ((~>) a6989586621679735752 b6989586621679735753) ((~>) (f6989586621679735751 a6989586621679735752) (f6989586621679735751 b6989586621679735753)) infixl 4 #

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

Defined in Data.Singletons.Prelude.Functor

Methods

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

SuppressUnusedWarnings ((<$>@#@$) :: TyFun (a6989586621679735752 ~> b6989586621679735753) (f6989586621679735751 a6989586621679735752 ~> f6989586621679735751 b6989586621679735753) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply ((<$>@#@$) :: TyFun (a6989586621679735752 ~> b6989586621679735753) (f6989586621679735751 a6989586621679735752 ~> f6989586621679735751 b6989586621679735753) -> Type) (a6989586621679735832 :: a6989586621679735752 ~> b6989586621679735753) # 
Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply ((<$>@#@$) :: TyFun (a6989586621679735752 ~> b6989586621679735753) (f6989586621679735751 a6989586621679735752 ~> f6989586621679735751 b6989586621679735753) -> Type) (a6989586621679735832 :: a6989586621679735752 ~> b6989586621679735753) = (a6989586621679735832 <$>@#@$$ f6989586621679735751 :: TyFun (f6989586621679735751 a6989586621679735752) (f6989586621679735751 b6989586621679735753) -> Type)

data (<$>@#@$$) (a6989586621679735832 :: (~>) a6989586621679735752 b6989586621679735753) :: forall f6989586621679735751. (~>) (f6989586621679735751 a6989586621679735752) (f6989586621679735751 b6989586621679735753) infixl 4 #

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

Defined in Data.Singletons.Prelude.Functor

Methods

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

SuppressUnusedWarnings (a6989586621679735832 <$>@#@$$ f6989586621679735751 :: TyFun (f6989586621679735751 a6989586621679735752) (f6989586621679735751 b6989586621679735753) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply (a6989586621679735832 <$>@#@$$ f :: TyFun (f a) (f b) -> Type) (a6989586621679735833 :: f a) # 
Instance details

Defined in Data.Singletons.Prelude.Functor

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

type (<$>@#@$$$) (a6989586621679735832 :: (~>) a6989586621679735752 b6989586621679735753) (a6989586621679735833 :: f6989586621679735751 a6989586621679735752) = (<$>) a6989586621679735832 a6989586621679735833 #

data (<&>@#@$) :: forall a6989586621679735749 b6989586621679735750 f6989586621679735748. (~>) (f6989586621679735748 a6989586621679735749) ((~>) ((~>) a6989586621679735749 b6989586621679735750) (f6989586621679735748 b6989586621679735750)) infixl 1 #

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

Defined in Data.Singletons.Prelude.Functor

Methods

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

SuppressUnusedWarnings ((<&>@#@$) :: TyFun (f6989586621679735748 a6989586621679735749) ((a6989586621679735749 ~> b6989586621679735750) ~> f6989586621679735748 b6989586621679735750) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply ((<&>@#@$) :: TyFun (f6989586621679735748 a6989586621679735749) ((a6989586621679735749 ~> b6989586621679735750) ~> f6989586621679735748 b6989586621679735750) -> Type) (a6989586621679735838 :: f6989586621679735748 a6989586621679735749) # 
Instance details

Defined in Data.Singletons.Prelude.Functor

type Apply ((<&>@#@$) :: TyFun (f6989586621679735748 a6989586621679735749) ((a6989586621679735749 ~> b6989586621679735750) ~> f6989586621679735748 b6989586621679735750) -> Type) (a6989586621679735838 :: f6989586621679735748 a6989586621679735749) = (a6989586621679735838 <&>@#@$$ b6989586621679735750 :: TyFun (a6989586621679735749 ~> b6989586621679735750) (f6989586621679735748 b6989586621679735750) -> Type)

data (<&>@#@$$) (a6989586621679735838 :: f6989586621679735748 a6989586621679735749) :: forall b6989586621679735750. (~>) ((~>) a6989586621679735749 b6989586621679735750) (f6989586621679735748 b6989586621679735750) infixl 1 #

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

Defined in Data.Singletons.Prelude.Functor

Methods

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

SuppressUnusedWarnings (a6989586621679735838 <&>@#@$$ b6989586621679735750 :: TyFun (a6989586621679735749 ~> b6989586621679735750) (f6989586621679735748 b6989586621679735750) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Functor

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

Defined in Data.Singletons.Prelude.Functor

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

type (<&>@#@$$$) (a6989586621679735838 :: f6989586621679735748 a6989586621679735749) (a6989586621679735839 :: (~>) a6989586621679735749 b6989586621679735750) = (<&>) a6989586621679735838 a6989586621679735839 #

data VoidSym0 :: forall a6989586621679735744 f6989586621679735743. (~>) (f6989586621679735743 a6989586621679735744) (f6989586621679735743 ()) #

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

Defined in Data.Singletons.Prelude.Functor

Methods

sing :: Sing VoidSym0 #

SuppressUnusedWarnings (VoidSym0 :: TyFun (f6989586621679735743 a6989586621679735744) (f6989586621679735743 ()) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Functor

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

Defined in Data.Singletons.Prelude.Functor

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

type VoidSym1 (a6989586621679735815 :: f6989586621679735743 a6989586621679735744) = Void a6989586621679735815 #

Orphan instances

SFunctor Down # 
Instance details

Methods

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

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

PFunctor Down # 
Instance details

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #

SFunctor ((,) 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 ((,) a) # 
Instance details

Associated Types

type Fmap arg arg :: f b #

type arg <$ arg :: f a #