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 #
Instance details
Assoc * X #

Doc for: instance Assoc X

Instance details

Associated Types

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

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

Test * X #

Doc for: instance Test X

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

Doc for: data instance Bat X

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

data Y #

Doc for: data Y

Instances
Assoc * Y #

Doc for: instance Assoc Y

Instance details

Associated Types

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

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

Test * Y #

Doc for: instance Test Y

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

Doc for: data instance Bat Y

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

data Z #

Doc for: data Z

Constructors

ZA
ZB
Instances
data Bat Z #

Doc for: data instance Bat Z

Instance details
data Bat Z where

class Test a #

Doc for: class Test a

Instances
Test * Y #

Doc for: instance Test Y

Instance details
Test * X #

Doc for: instance Test X

Instance details

type family Foo a :: k #

Doc for: type family Foo a

Instances
type Foo * Y #
Instance details
type Foo * Y = X
type Foo * X #
Instance details
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

Instance details
data Bat Z where
data Bat * Y #

Doc for: data instance Bat Y

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

Doc for: data instance Bat X

Instance details
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

Instance details

Associated Types

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

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

Assoc * X #

Doc for: instance Assoc X

Instance details

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 #
Instance details
type (<>) X XXX XX = X
type (<>) * Y a #
Instance details
type (<>) * Y a = a
type (<>) * X a #
Instance details
type (<>) * X a = X

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

Instances
(><) X XX XXX #
Instance details