singletons-2.3.1: A framework for generating singleton types

Copyright(C) 2016 Richard Eisenberg
LicenseBSD-style (see LICENSE)
MaintainerRichard Eisenberg (rae@cs.brynmawr.edu)
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Promotion.Prelude.Function

Contents

Description

Defines promoted functions from Data.Function.

Because many of these definitions are produced by Template Haskell, it is not possible to create proper Haddock documentation. Please look up the corresponding operation in Data.Function. Also, please excuse the apparent repeated variable names. This is due to an interaction between Template Haskell and Haddock.

Synopsis

Prelude re-exports

type family Id (a :: a) :: a where ... #

Equations

Id x = x 

type family Const (a :: a) (a :: b) :: a where ... #

Equations

Const x _z_1627672595 = x 

type family ((a :: TyFun b c -> Type) :. (a :: TyFun a b -> Type)) (a :: a) :: c where ... infixr 9 #

Equations

(f :. g) a_1627672558 = Apply (Apply (Apply (Apply Lambda_1627672563Sym0 f) g) a_1627672558) a_1627672558 

type family Flip (a :: TyFun a (TyFun b c -> Type) -> Type) (a :: b) (a :: a) :: c where ... #

Equations

Flip f x y = Apply (Apply f y) x 

type family (f :: TyFun a b -> *) $ (x :: a) :: b infixr 0 #

Instances

type ($) k1 k f x # 
type ($) k1 k f x = (@@) k1 k f x

Other combinators

type family (a :: a) :& (a :: TyFun a b -> Type) :: b where ... #

Equations

x :& f = Apply f x 

type family On (a :: TyFun b (TyFun b c -> Type) -> Type) (a :: TyFun a b -> Type) (a :: a) (a :: a) :: c where ... #

Equations

On ty f a_1627684637 a_1627684639 = Apply (Apply (Apply (Apply (Apply (Apply Lambda_1627684645Sym0 ty) f) a_1627684637) a_1627684639) a_1627684637) a_1627684639 

Defunctionalization symbols

data IdSym0 (l :: TyFun a1627672476 a1627672476) #

Instances

SuppressUnusedWarnings (TyFun a1627672476 a1627672476 -> *) (IdSym0 a1627672476) # 

Methods

suppressUnusedWarnings :: Proxy (IdSym0 a1627672476) t -> () #

type Apply a a (IdSym0 a) l # 
type Apply a a (IdSym0 a) l = Id a l

type IdSym1 (t :: a1627672476) = Id t #

data ConstSym0 (l :: TyFun a1627672474 (TyFun b1627672475 a1627672474 -> Type)) #

Instances

SuppressUnusedWarnings (TyFun a1627672474 (TyFun b1627672475 a1627672474 -> Type) -> *) (ConstSym0 b1627672475 a1627672474) # 

Methods

suppressUnusedWarnings :: Proxy (ConstSym0 b1627672475 a1627672474) t -> () #

type Apply a1627672474 (TyFun b1627672475 a1627672474 -> Type) (ConstSym0 b1627672475 a1627672474) l # 
type Apply a1627672474 (TyFun b1627672475 a1627672474 -> Type) (ConstSym0 b1627672475 a1627672474) l = ConstSym1 b1627672475 a1627672474 l

data ConstSym1 (l :: a1627672474) (l :: TyFun b1627672475 a1627672474) #

Instances

SuppressUnusedWarnings (a1627672474 -> TyFun b1627672475 a1627672474 -> *) (ConstSym1 b1627672475 a1627672474) # 

Methods

suppressUnusedWarnings :: Proxy (ConstSym1 b1627672475 a1627672474) t -> () #

type Apply b a (ConstSym1 b a l1) l2 # 
type Apply b a (ConstSym1 b a l1) l2 = Const b a l1 l2

type ConstSym2 (t :: a1627672474) (t :: b1627672475) = Const t t #

data (:.$) (l :: TyFun (TyFun b1627672471 c1627672472 -> Type) (TyFun (TyFun a1627672473 b1627672471 -> Type) (TyFun a1627672473 c1627672472 -> Type) -> Type)) #

Instances

SuppressUnusedWarnings (TyFun (TyFun b1627672471 c1627672472 -> Type) (TyFun (TyFun a1627672473 b1627672471 -> Type) (TyFun a1627672473 c1627672472 -> Type) -> Type) -> *) ((:.$) b1627672471 a1627672473 c1627672472) # 

Methods

suppressUnusedWarnings :: Proxy ((b1627672471 :.$ a1627672473) c1627672472) t -> () #

type Apply (TyFun b1627672471 c1627672472 -> Type) (TyFun (TyFun a1627672473 b1627672471 -> Type) (TyFun a1627672473 c1627672472 -> Type) -> Type) ((:.$) b1627672471 a1627672473 c1627672472) l # 
type Apply (TyFun b1627672471 c1627672472 -> Type) (TyFun (TyFun a1627672473 b1627672471 -> Type) (TyFun a1627672473 c1627672472 -> Type) -> Type) ((:.$) b1627672471 a1627672473 c1627672472) l = (:.$$) b1627672471 a1627672473 c1627672472 l

data (l :: TyFun b1627672471 c1627672472 -> Type) :.$$ (l :: TyFun (TyFun a1627672473 b1627672471 -> Type) (TyFun a1627672473 c1627672472 -> Type)) #

Instances

SuppressUnusedWarnings ((TyFun b1627672471 c1627672472 -> Type) -> TyFun (TyFun a1627672473 b1627672471 -> Type) (TyFun a1627672473 c1627672472 -> Type) -> *) ((:.$$) b1627672471 a1627672473 c1627672472) # 

Methods

suppressUnusedWarnings :: Proxy ((b1627672471 :.$$ a1627672473) c1627672472) t -> () #

type Apply (TyFun a1627672473 b1627672471 -> Type) (TyFun a1627672473 c1627672472 -> Type) ((:.$$) b1627672471 a1627672473 c1627672472 l1) l2 # 
type Apply (TyFun a1627672473 b1627672471 -> Type) (TyFun a1627672473 c1627672472 -> Type) ((:.$$) b1627672471 a1627672473 c1627672472 l1) l2 = (:.$$$) b1627672471 a1627672473 c1627672472 l1 l2

data ((l :: TyFun b1627672471 c1627672472 -> Type) :.$$$ (l :: TyFun a1627672473 b1627672471 -> Type)) (l :: TyFun a1627672473 c1627672472) #

Instances

SuppressUnusedWarnings ((TyFun b1627672471 c1627672472 -> Type) -> (TyFun a1627672473 b1627672471 -> Type) -> TyFun a1627672473 c1627672472 -> *) ((:.$$$) b1627672471 a1627672473 c1627672472) # 

Methods

suppressUnusedWarnings :: Proxy ((b1627672471 :.$$$ a1627672473) c1627672472) t -> () #

type Apply a c ((:.$$$) b a c l1 l2) l3 # 
type Apply a c ((:.$$$) b a c l1 l2) l3 = (:.) b a c l1 l2 l3

type (:.$$$$) (t :: TyFun b1627672471 c1627672472 -> Type) (t :: TyFun a1627672473 b1627672471 -> Type) (t :: a1627672473) = (:.) t t t #

data FlipSym0 (l :: TyFun (TyFun a1627672468 (TyFun b1627672469 c1627672470 -> Type) -> Type) (TyFun b1627672469 (TyFun a1627672468 c1627672470 -> Type) -> Type)) #

Instances

SuppressUnusedWarnings (TyFun (TyFun a1627672468 (TyFun b1627672469 c1627672470 -> Type) -> Type) (TyFun b1627672469 (TyFun a1627672468 c1627672470 -> Type) -> Type) -> *) (FlipSym0 b1627672469 a1627672468 c1627672470) # 

Methods

suppressUnusedWarnings :: Proxy (FlipSym0 b1627672469 a1627672468 c1627672470) t -> () #

type Apply (TyFun a1627672468 (TyFun b1627672469 c1627672470 -> Type) -> Type) (TyFun b1627672469 (TyFun a1627672468 c1627672470 -> Type) -> Type) (FlipSym0 b1627672469 a1627672468 c1627672470) l # 
type Apply (TyFun a1627672468 (TyFun b1627672469 c1627672470 -> Type) -> Type) (TyFun b1627672469 (TyFun a1627672468 c1627672470 -> Type) -> Type) (FlipSym0 b1627672469 a1627672468 c1627672470) l = FlipSym1 b1627672469 a1627672468 c1627672470 l

data FlipSym1 (l :: TyFun a1627672468 (TyFun b1627672469 c1627672470 -> Type) -> Type) (l :: TyFun b1627672469 (TyFun a1627672468 c1627672470 -> Type)) #

Instances

SuppressUnusedWarnings ((TyFun a1627672468 (TyFun b1627672469 c1627672470 -> Type) -> Type) -> TyFun b1627672469 (TyFun a1627672468 c1627672470 -> Type) -> *) (FlipSym1 b1627672469 a1627672468 c1627672470) # 

Methods

suppressUnusedWarnings :: Proxy (FlipSym1 b1627672469 a1627672468 c1627672470) t -> () #

type Apply b1627672469 (TyFun a1627672468 c1627672470 -> Type) (FlipSym1 b1627672469 a1627672468 c1627672470 l1) l2 # 
type Apply b1627672469 (TyFun a1627672468 c1627672470 -> Type) (FlipSym1 b1627672469 a1627672468 c1627672470 l1) l2 = FlipSym2 b1627672469 a1627672468 c1627672470 l1 l2

data FlipSym2 (l :: TyFun a1627672468 (TyFun b1627672469 c1627672470 -> Type) -> Type) (l :: b1627672469) (l :: TyFun a1627672468 c1627672470) #

Instances

SuppressUnusedWarnings ((TyFun a1627672468 (TyFun b1627672469 c1627672470 -> Type) -> Type) -> b1627672469 -> TyFun a1627672468 c1627672470 -> *) (FlipSym2 b1627672469 a1627672468 c1627672470) # 

Methods

suppressUnusedWarnings :: Proxy (FlipSym2 b1627672469 a1627672468 c1627672470) t -> () #

type Apply a c (FlipSym2 b a c l1 l2) l3 # 
type Apply a c (FlipSym2 b a c l1 l2) l3 = Flip b a c l1 l2 l3

type FlipSym3 (t :: TyFun a1627672468 (TyFun b1627672469 c1627672470 -> Type) -> Type) (t :: b1627672469) (t :: a1627672468) = Flip t t t #

data ($$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> * #

Instances

type Apply (TyFun a b -> *) (TyFun a b -> *) (($$) a b) arg # 
type Apply (TyFun a b -> *) (TyFun a b -> *) (($$) a b) arg = ($$$) a b arg

data ($$$) :: (TyFun a b -> *) -> TyFun a b -> * #

Instances

type Apply a k (($$$) a k f) arg # 
type Apply a k (($$$) a k f) arg = ($$$$) a k f arg

type ($$$$) a b = ($) a b #

data (:&$) (l :: TyFun a1627684591 (TyFun (TyFun a1627684591 b1627684592 -> Type) b1627684592 -> Type)) #

Instances

SuppressUnusedWarnings (TyFun a1627684591 (TyFun (TyFun a1627684591 b1627684592 -> Type) b1627684592 -> Type) -> *) ((:&$) a1627684591 b1627684592) # 

Methods

suppressUnusedWarnings :: Proxy (a1627684591 :&$ b1627684592) t -> () #

type Apply a1627684591 (TyFun (TyFun a1627684591 b1627684592 -> Type) b1627684592 -> Type) ((:&$) a1627684591 b1627684592) l # 
type Apply a1627684591 (TyFun (TyFun a1627684591 b1627684592 -> Type) b1627684592 -> Type) ((:&$) a1627684591 b1627684592) l = (:&$$) a1627684591 b1627684592 l

data (l :: a1627684591) :&$$ (l :: TyFun (TyFun a1627684591 b1627684592 -> Type) b1627684592) #

Instances

SuppressUnusedWarnings (a1627684591 -> TyFun (TyFun a1627684591 b1627684592 -> Type) b1627684592 -> *) ((:&$$) a1627684591 b1627684592) # 

Methods

suppressUnusedWarnings :: Proxy (a1627684591 :&$$ b1627684592) t -> () #

type Apply (TyFun a b -> Type) b ((:&$$) a b l1) l2 # 
type Apply (TyFun a b -> Type) b ((:&$$) a b l1) l2 = (:&) a b l1 l2

type (:&$$$) (t :: a1627684591) (t :: TyFun a1627684591 b1627684592 -> Type) = (:&) t t #

data OnSym0 (l :: TyFun (TyFun b1627684593 (TyFun b1627684593 c1627684594 -> Type) -> Type) (TyFun (TyFun a1627684595 b1627684593 -> Type) (TyFun a1627684595 (TyFun a1627684595 c1627684594 -> Type) -> Type) -> Type)) #

Instances

SuppressUnusedWarnings (TyFun (TyFun b1627684593 (TyFun b1627684593 c1627684594 -> Type) -> Type) (TyFun (TyFun a1627684595 b1627684593 -> Type) (TyFun a1627684595 (TyFun a1627684595 c1627684594 -> Type) -> Type) -> Type) -> *) (OnSym0 b1627684593 a1627684595 c1627684594) # 

Methods

suppressUnusedWarnings :: Proxy (OnSym0 b1627684593 a1627684595 c1627684594) t -> () #

type Apply (TyFun b1627684593 (TyFun b1627684593 c1627684594 -> Type) -> Type) (TyFun (TyFun a1627684595 b1627684593 -> Type) (TyFun a1627684595 (TyFun a1627684595 c1627684594 -> Type) -> Type) -> Type) (OnSym0 b1627684593 a1627684595 c1627684594) l # 
type Apply (TyFun b1627684593 (TyFun b1627684593 c1627684594 -> Type) -> Type) (TyFun (TyFun a1627684595 b1627684593 -> Type) (TyFun a1627684595 (TyFun a1627684595 c1627684594 -> Type) -> Type) -> Type) (OnSym0 b1627684593 a1627684595 c1627684594) l = OnSym1 b1627684593 a1627684595 c1627684594 l

data OnSym1 (l :: TyFun b1627684593 (TyFun b1627684593 c1627684594 -> Type) -> Type) (l :: TyFun (TyFun a1627684595 b1627684593 -> Type) (TyFun a1627684595 (TyFun a1627684595 c1627684594 -> Type) -> Type)) #

Instances

SuppressUnusedWarnings ((TyFun b1627684593 (TyFun b1627684593 c1627684594 -> Type) -> Type) -> TyFun (TyFun a1627684595 b1627684593 -> Type) (TyFun a1627684595 (TyFun a1627684595 c1627684594 -> Type) -> Type) -> *) (OnSym1 b1627684593 a1627684595 c1627684594) # 

Methods

suppressUnusedWarnings :: Proxy (OnSym1 b1627684593 a1627684595 c1627684594) t -> () #

type Apply (TyFun a1627684595 b1627684593 -> Type) (TyFun a1627684595 (TyFun a1627684595 c1627684594 -> Type) -> Type) (OnSym1 b1627684593 a1627684595 c1627684594 l1) l2 # 
type Apply (TyFun a1627684595 b1627684593 -> Type) (TyFun a1627684595 (TyFun a1627684595 c1627684594 -> Type) -> Type) (OnSym1 b1627684593 a1627684595 c1627684594 l1) l2 = OnSym2 b1627684593 a1627684595 c1627684594 l1 l2

data OnSym2 (l :: TyFun b1627684593 (TyFun b1627684593 c1627684594 -> Type) -> Type) (l :: TyFun a1627684595 b1627684593 -> Type) (l :: TyFun a1627684595 (TyFun a1627684595 c1627684594 -> Type)) #

Instances

SuppressUnusedWarnings ((TyFun b1627684593 (TyFun b1627684593 c1627684594 -> Type) -> Type) -> (TyFun a1627684595 b1627684593 -> Type) -> TyFun a1627684595 (TyFun a1627684595 c1627684594 -> Type) -> *) (OnSym2 b1627684593 a1627684595 c1627684594) # 

Methods

suppressUnusedWarnings :: Proxy (OnSym2 b1627684593 a1627684595 c1627684594) t -> () #

type Apply a1627684595 (TyFun a1627684595 c1627684594 -> Type) (OnSym2 b1627684593 a1627684595 c1627684594 l1 l2) l3 # 
type Apply a1627684595 (TyFun a1627684595 c1627684594 -> Type) (OnSym2 b1627684593 a1627684595 c1627684594 l1 l2) l3 = OnSym3 b1627684593 a1627684595 c1627684594 l1 l2 l3

data OnSym3 (l :: TyFun b1627684593 (TyFun b1627684593 c1627684594 -> Type) -> Type) (l :: TyFun a1627684595 b1627684593 -> Type) (l :: a1627684595) (l :: TyFun a1627684595 c1627684594) #

Instances

SuppressUnusedWarnings ((TyFun b1627684593 (TyFun b1627684593 c1627684594 -> Type) -> Type) -> (TyFun a1627684595 b1627684593 -> Type) -> a1627684595 -> TyFun a1627684595 c1627684594 -> *) (OnSym3 b1627684593 a1627684595 c1627684594) # 

Methods

suppressUnusedWarnings :: Proxy (OnSym3 b1627684593 a1627684595 c1627684594) t -> () #

type Apply a c (OnSym3 b a c l1 l2 l3) l4 # 
type Apply a c (OnSym3 b a c l1 l2 l3) l4 = On b a c l1 l2 l3 l4

type OnSym4 (t :: TyFun b1627684593 (TyFun b1627684593 c1627684594 -> Type) -> Type) (t :: TyFun a1627684595 b1627684593 -> Type) (t :: a1627684595) (t :: a1627684595) = On t t t t #