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
XX >< XXX #
Instance details

Defined in TypeFamilies

Assoc X #

Doc for: instance Assoc X

Instance details

Defined in TypeFamilies

Associated Types

data AssocD X :: * #

type AssocT X :: * #

Test X #

Doc for: instance Test X

Instance details

Defined in TypeFamilies

type Foo X #

External instance

Instance details

Defined in TypeFamilies

type Foo X = Y
type XXX <> XX #
Instance details

Defined in TypeFamilies

type XXX <> XX = X
data AssocD X #
Instance details

Defined in TypeFamilies

data AssocD X = AssocX
type AssocT X #
Instance details

Defined in TypeFamilies

type AssocT X = (Foo X :: *)
data Bat X #

Doc for: data instance Bat X

Instance details

Defined in TypeFamilies

data Bat X
type Foo X #

Doc for: type instance Foo X = Y

Instance details

Defined in TypeFamilies

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

Defined in TypeFamilies

type X <> (a :: *) = X

data Y #

Doc for: data Y

Instances
Assoc Y #

Doc for: instance Assoc Y

Instance details

Defined in TypeFamilies

Associated Types

data AssocD Y :: * #

type AssocT Y :: * #

Test Y #

Doc for: instance Test Y

Instance details

Defined in TypeFamilies

data Bar Y #
Instance details

Defined in TypeFamilies

data Bar Y
data AssocD Y #
Instance details

Defined in TypeFamilies

data AssocD Y = AssocY
type AssocT Y #
Instance details

Defined in TypeFamilies

type AssocT Y = Bat Y
data Bat Y #

Doc for: data instance Bat Y

Instance details

Defined in TypeFamilies

data Bat Y = BatY Y
type Foo Y #

Doc for: type instance Foo Y = X

Instance details

Defined in TypeFamilies

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

Defined in TypeFamilies

type Y <> (a :: *) = a

data Z #

Doc for: data Z

Constructors

ZA
ZB
Instances
data Bat (z :: Z) #

Doc for: data instance Bat Z

Instance details

Defined in TypeFamilies

data Bat (z :: Z) where

class Test a #

Doc for: class Test a

Instances
Test Y #

Doc for: instance Test Y

Instance details

Defined in TypeFamilies

Test X #

Doc for: instance Test X

Instance details

Defined in TypeFamilies

type family Foo a :: k #

Doc for: type family Foo a

Instances
type Foo Y #

Doc for: type instance Foo Y = X

Instance details

Defined in TypeFamilies

type Foo Y = X
type Foo X #

Doc for: type instance Foo X = Y

Instance details

Defined in TypeFamilies

type Foo X = Y

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

Doc for: data family Bat a

Instances
data Bat (z :: Z) #

Doc for: data instance Bat Z

Instance details

Defined in TypeFamilies

data Bat (z :: Z) where
data Bat Y #

Doc for: data instance Bat Y

Instance details

Defined in TypeFamilies

data Bat Y = BatY Y
data Bat X #

Doc for: data instance Bat X

Instance details

Defined in TypeFamilies

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

Defined in TypeFamilies

Associated Types

data AssocD Y :: * #

type AssocT Y :: * #

Assoc X #

Doc for: instance Assoc X

Instance details

Defined in TypeFamilies

Associated Types

data AssocD X :: * #

type AssocT 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 XXX <> XX #
Instance details

Defined in TypeFamilies

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

Defined in TypeFamilies

type Y <> (a :: *) = a
type X <> (a :: *) #
Instance details

Defined in TypeFamilies

type X <> (a :: *) = X

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

Instances
XX >< XXX #
Instance details

Defined in TypeFamilies