Type.Cluss

Clusses

class In as a

Type Patterns

data Type a

data a <| p

type Unary a p

type Binary a p

type Ternary a p

type Quaternary a p

type Quinary a p

type Senary a p

Instance Products

type AllOf as

data family AllOf' ts as f

Constraint Combinators

Basic Combinators

class This a

class Pure a

type Is a b

Combinators for Overlaying Contraints

class (p >+< q) a

class (p >++< q) a b

class (p >+++< q) a b c

class (p >++++< q) a b c d

class (p >+++++< q) a b c d e

class (p >++++++< q) a b c d e f

Combinators for Bonding Contraints

class (p >|< q) a b

class (p >||< q) a b c

class (p >|||< q) a b c d

class (p >||||< q) a b c d e

class (p >|||||< q) a b c d e f

Helpers

Helpers for Identical Constructors

type AllOfI as

type AllOfI' ts as

andI

andI1

andI2

andI3

andI4

andI5

andI6

noneI

projI

Helpers for Function Constructors

type AllOfF as t

type AllOfF' ts as t

andF

andF1

andF2

andF3

andF4

andF5

andF6

noneF

projF

Examples

Example1: Hello

Example2: Printf

Example3: Monad