Safe HaskellSafe

TypeFamilies

Description

Doc for: module TypeFamilies

Synopsis

Documentation

data X #

Doc for: data X

Constructors

X

Doc for: X

XX

Doc for: XX

XXX

Doc for: XXX

Instances

(><) X XX XXX #
Assoc * X #

Doc for: instance Assoc X

Associated Types

data AssocD X (a :: X) :: * #

type AssocT X (a :: X) :: * #

Test * X #

Doc for: instance Test X

type Foo X #
type Foo X = Y
type (<>) X XXX XX #
type (<>) X XXX XX = X
data AssocD * X #
data AssocD * X = AssocX
type AssocT * X #
type AssocT * X = Foo * X
data Bat * X #

Doc for: data instance Bat X

data Bat * X
type Foo * X #
type Foo * X = Y
type (<>) * X a #
type (<>) * X a = X

data Y #

Doc for: data Y

Instances

Assoc * Y #

Doc for: instance Assoc Y

Associated Types

data AssocD Y (a :: Y) :: * #

type AssocT Y (a :: Y) :: * #

Test * Y #

Doc for: instance Test Y

data Bar Y #
data Bar Y
data AssocD * Y #
data AssocD * Y = AssocY
type AssocT * Y #
type AssocT * Y = Bat * Y
data Bat * Y #

Doc for: data instance Bat Y

data Bat * Y = BatY Y
type Foo * Y #
type Foo * Y = X
type (<>) * Y a #
type (<>) * Y a = a

data Z #

Doc for: data Z

Constructors

ZA
ZB

Instances

data Bat Z #

Doc for: data instance Bat Z

data Bat Z where

class Test a #

Doc for: class Test a

Instances

Test * Y #

Doc for: instance Test Y

Test * X #

Doc for: instance Test X

type family Foo a :: k #

Doc for: type family Foo a

Instances

type Foo * Y #
type Foo * Y = X
type Foo * X #
type Foo * X = Y

data family Bat (a :: k) :: * #

Doc for: data family Bat a

Instances

data Bat Z #

Doc for: data instance Bat Z

data Bat Z where
data Bat * Y #

Doc for: data instance Bat Y

data Bat * Y = BatY Y
data Bat * X #

Doc for: data instance Bat X

data Bat * X

class Assoc a #

Doc for: class Assoc a

Associated Types

data AssocD a :: * #

Doc for: data AssocD a

type AssocT a :: * #

Doc for: type AssocT a

Instances

Assoc * Y #

Doc for: instance Assoc Y

Associated Types

data AssocD Y (a :: Y) :: * #

type AssocT Y (a :: Y) :: * #

Assoc * X #

Doc for: instance Assoc X

Associated Types

data AssocD X (a :: X) :: * #

type AssocT X (a :: X) :: * #

type family Bar b where ... #

Doc for: type family Bar b

Equations

Bar X = X
Bar y = Y

type family (a :: k) <> (b :: k) :: k #

Instances

type (<>) X XXX XX #
type (<>) X XXX XX = X
type (<>) * Y a #
type (<>) * Y a = a
type (<>) * X a #
type (<>) * X a = X

class (a :: k) >< (b :: k) #

Instances