opaleye-0.6.7000.0: An SQL-generating DSL targeting PostgreSQL

Safe HaskellNone
LanguageHaskell2010

Opaleye.Internal.TypeFamilies

Documentation

type family IMap f a #

Instances

data HT #

Instances

type A * (TC a) k2 (H * (TC a) k2 HT) (TC a ((,) (a, a, Nullability) Optionality t b)) # 
type A * (TC a) k2 (H * (TC a) k2 HT) (TC a ((,) (a, a, Nullability) Optionality t b)) = A * (C a) k2 (H * (C a) k2 HT) (C a t)
type A * (C k2) k2 (H * (C k2) k2 HT) (C k2 ((,,) k2 k2 Nullability h o NN)) # 
type A * (C k2) k2 (H * (C k2) k2 HT) (C k2 ((,,) k2 k2 Nullability h o NN)) = h
type A * (C *) * (H * (C *) * HT) (C * ((,,) * * Nullability h o N)) # 
type A * (C *) * (H * (C *) * HT) (C * ((,,) * * Nullability h o N)) = Maybe h

data OT #

Instances

type IMap Nulled OT # 
type A * (TC a) k2 (H * (TC a) k2 OT) (TC a ((,) (a, a, Nullability) Optionality t b)) # 
type A * (TC a) k2 (H * (TC a) k2 OT) (TC a ((,) (a, a, Nullability) Optionality t b)) = A * (C a) k2 (H * (C a) k2 OT) (C a t)
type A * (C *) * (H * (C *) * OT) (C * ((,,) * * Nullability h o N)) # 
type A * (C *) * (H * (C *) * OT) (C * ((,,) * * Nullability h o N)) = Column (Nullable o)
type A * (C *) * (H * (C *) * OT) (C * ((,,) * * Nullability h o NN)) # 
type A * (C *) * (H * (C *) * OT) (C * ((,,) * * Nullability h o NN)) = Column o

data NullsT #

Instances

type IMap Nulled NullsT # 
type A * (TC a) k2 (H * (TC a) k2 NullsT) (TC a ((,) (a, a, Nullability) Optionality t b)) # 
type A * (TC a) k2 (H * (TC a) k2 NullsT) (TC a ((,) (a, a, Nullability) Optionality t b)) = A * (C a) k2 (H * (C a) k2 NullsT) (C a t)
type A * (C *) * (H * (C *) * NullsT) (C * ((,,) * * Nullability h o NN)) # 
type A * (C *) * (H * (C *) * NullsT) (C * ((,,) * * Nullability h o NN)) = Column (Nullable o)

data WT #

Instances

type A * (TC a) k2 (H * (TC a) k2 WT) (TC a ((,) (a, a, Nullability) Optionality t Req)) # 
type A * (TC a) k2 (H * (TC a) k2 WT) (TC a ((,) (a, a, Nullability) Optionality t Req)) = A * (C a) k2 (H * (C a) k2 OT) (C a t)
type A * (TC a) * (H * (TC a) * WT) (TC a ((,) (a, a, Nullability) Optionality t Opt)) # 
type A * (TC a) * (H * (TC a) * WT) (TC a ((,) (a, a, Nullability) Optionality t Opt)) = Maybe (A * (C a) * (H * (C a) * OT) (C a t))

type NN = Nullable #

type N = NonNullable #

data Optionality #

Constructors

OReq 
OOpt 

Instances

type A * (TC a) k2 (H * (TC a) k2 NullsT) (TC a ((,) (a, a, Nullability) Optionality t b)) # 
type A * (TC a) k2 (H * (TC a) k2 NullsT) (TC a ((,) (a, a, Nullability) Optionality t b)) = A * (C a) k2 (H * (C a) k2 NullsT) (C a t)
type A * (TC a) k2 (H * (TC a) k2 WT) (TC a ((,) (a, a, Nullability) Optionality t Req)) # 
type A * (TC a) k2 (H * (TC a) k2 WT) (TC a ((,) (a, a, Nullability) Optionality t Req)) = A * (C a) k2 (H * (C a) k2 OT) (C a t)
type A * (TC a) k2 (H * (TC a) k2 OT) (TC a ((,) (a, a, Nullability) Optionality t b)) # 
type A * (TC a) k2 (H * (TC a) k2 OT) (TC a ((,) (a, a, Nullability) Optionality t b)) = A * (C a) k2 (H * (C a) k2 OT) (C a t)
type A * (TC a) k2 (H * (TC a) k2 HT) (TC a ((,) (a, a, Nullability) Optionality t b)) # 
type A * (TC a) k2 (H * (TC a) k2 HT) (TC a ((,) (a, a, Nullability) Optionality t b)) = A * (C a) k2 (H * (C a) k2 HT) (C a t)
type A * (TC a) * (H * (TC a) * WT) (TC a ((,) (a, a, Nullability) Optionality t Opt)) # 
type A * (TC a) * (H * (TC a) * WT) (TC a ((,) (a, a, Nullability) Optionality t Opt)) = Maybe (A * (C a) * (H * (C a) * OT) (C a t))

type Req = OReq #

type Opt = OOpt #

type family A (a :: Arr h k1 k2) (b :: k1) :: k2 #

Instances

type A h k2 k2 (I h k2) a # 
type A h k2 k2 (I h k2) a = a
type A h k2 k3 (K h k2 k3 k4) _ # 
type A h k2 k3 (K h k2 k3 k4) _ = k4
type A h k1 k5 (S h k1 k5 k4 f x) a # 
type A h k1 k5 (S h k1 k5 k4 f x) a = A h k1 (k4 -> k5) f a (A h k1 k4 x a)
type A * (TC a) k2 (H * (TC a) k2 NullsT) (TC a ((,) (a, a, Nullability) Optionality t b)) # 
type A * (TC a) k2 (H * (TC a) k2 NullsT) (TC a ((,) (a, a, Nullability) Optionality t b)) = A * (C a) k2 (H * (C a) k2 NullsT) (C a t)
type A * (TC a) k2 (H * (TC a) k2 WT) (TC a ((,) (a, a, Nullability) Optionality t Req)) # 
type A * (TC a) k2 (H * (TC a) k2 WT) (TC a ((,) (a, a, Nullability) Optionality t Req)) = A * (C a) k2 (H * (C a) k2 OT) (C a t)
type A * (TC a) k2 (H * (TC a) k2 OT) (TC a ((,) (a, a, Nullability) Optionality t b)) # 
type A * (TC a) k2 (H * (TC a) k2 OT) (TC a ((,) (a, a, Nullability) Optionality t b)) = A * (C a) k2 (H * (C a) k2 OT) (C a t)
type A * (TC a) k2 (H * (TC a) k2 HT) (TC a ((,) (a, a, Nullability) Optionality t b)) # 
type A * (TC a) k2 (H * (TC a) k2 HT) (TC a ((,) (a, a, Nullability) Optionality t b)) = A * (C a) k2 (H * (C a) k2 HT) (C a t)
type A * (C k2) k2 (H * (C k2) k2 HT) (C k2 ((,,) k2 k2 Nullability h o NN)) # 
type A * (C k2) k2 (H * (C k2) k2 HT) (C k2 ((,,) k2 k2 Nullability h o NN)) = h
type A * (TC a) * (H * (TC a) * WT) (TC a ((,) (a, a, Nullability) Optionality t Opt)) # 
type A * (TC a) * (H * (TC a) * WT) (TC a ((,) (a, a, Nullability) Optionality t Opt)) = Maybe (A * (C a) * (H * (C a) * OT) (C a t))
type A * (C *) * (H * (C *) * NullsT) (C * ((,,) * * Nullability h o NN)) # 
type A * (C *) * (H * (C *) * NullsT) (C * ((,,) * * Nullability h o NN)) = Column (Nullable o)
type A * (C *) * (H * (C *) * OT) (C * ((,,) * * Nullability h o N)) # 
type A * (C *) * (H * (C *) * OT) (C * ((,,) * * Nullability h o N)) = Column (Nullable o)
type A * (C *) * (H * (C *) * OT) (C * ((,,) * * Nullability h o NN)) # 
type A * (C *) * (H * (C *) * OT) (C * ((,,) * * Nullability h o NN)) = Column o
type A * (C *) * (H * (C *) * HT) (C * ((,,) * * Nullability h o N)) # 
type A * (C *) * (H * (C *) * HT) (C * ((,,) * * Nullability h o N)) = Maybe h

data Arr h k1 k2 where #

Constructors

K :: k1 -> Arr h k2 k1 
S :: Arr h k1 (k2 -> k3) -> Arr h k1 k2 -> Arr h k1 k3 
I :: Arr h k1 k1 
H :: h -> Arr h k2 k3 

type (:<*>) = S #

type Pure = K #

type (:<$>) f = (:<*>) (Pure f) #

type Id = I #

type (:<|) f x = A f x #

data C a #

Constructors

C (a, a, Nullability) 

Instances

type A * (C k2) k2 (H * (C k2) k2 HT) (C k2 ((,,) k2 k2 Nullability h o NN)) # 
type A * (C k2) k2 (H * (C k2) k2 HT) (C k2 ((,,) k2 k2 Nullability h o NN)) = h
type A * (C *) * (H * (C *) * NullsT) (C * ((,,) * * Nullability h o NN)) # 
type A * (C *) * (H * (C *) * NullsT) (C * ((,,) * * Nullability h o NN)) = Column (Nullable o)
type A * (C *) * (H * (C *) * OT) (C * ((,,) * * Nullability h o N)) # 
type A * (C *) * (H * (C *) * OT) (C * ((,,) * * Nullability h o N)) = Column (Nullable o)
type A * (C *) * (H * (C *) * OT) (C * ((,,) * * Nullability h o NN)) # 
type A * (C *) * (H * (C *) * OT) (C * ((,,) * * Nullability h o NN)) = Column o
type A * (C *) * (H * (C *) * HT) (C * ((,,) * * Nullability h o N)) # 
type A * (C *) * (H * (C *) * HT) (C * ((,,) * * Nullability h o N)) = Maybe h

data TC a #

Constructors

TC ((a, a, Nullability), Optionality) 

Instances

type A * (TC a) k2 (H * (TC a) k2 NullsT) (TC a ((,) (a, a, Nullability) Optionality t b)) # 
type A * (TC a) k2 (H * (TC a) k2 NullsT) (TC a ((,) (a, a, Nullability) Optionality t b)) = A * (C a) k2 (H * (C a) k2 NullsT) (C a t)
type A * (TC a) k2 (H * (TC a) k2 WT) (TC a ((,) (a, a, Nullability) Optionality t Req)) # 
type A * (TC a) k2 (H * (TC a) k2 WT) (TC a ((,) (a, a, Nullability) Optionality t Req)) = A * (C a) k2 (H * (C a) k2 OT) (C a t)
type A * (TC a) k2 (H * (TC a) k2 OT) (TC a ((,) (a, a, Nullability) Optionality t b)) # 
type A * (TC a) k2 (H * (TC a) k2 OT) (TC a ((,) (a, a, Nullability) Optionality t b)) = A * (C a) k2 (H * (C a) k2 OT) (C a t)
type A * (TC a) k2 (H * (TC a) k2 HT) (TC a ((,) (a, a, Nullability) Optionality t b)) # 
type A * (TC a) k2 (H * (TC a) k2 HT) (TC a ((,) (a, a, Nullability) Optionality t b)) = A * (C a) k2 (H * (C a) k2 HT) (C a t)
type A * (TC a) * (H * (TC a) * WT) (TC a ((,) (a, a, Nullability) Optionality t Opt)) # 
type A * (TC a) * (H * (TC a) * WT) (TC a ((,) (a, a, Nullability) Optionality t Opt)) = Maybe (A * (C a) * (H * (C a) * OT) (C a t))

type RecordField f a b c = A f (C '(a, b, c)) #

type TableField f a b c d = A f (TC '('(a, b, c), d)) #

type H = H HT #

type O = H OT #

type Nulls = H NullsT #

type W = H WT #

type F = H #