Generics.SOP

Codes and interpretations

class Generic a

type Rep a

n-ary datatypes

data NP

data NS

data SOP f xss

unSOP

data POP f xss

unPOP

Metadata

data DatatypeInfo

moduleName

datatypeName

constructorInfo

data ConstructorInfo

constructorName

data FieldInfo

fieldName

class HasDatatypeInfo a

type DatatypeName

type ModuleName

type ConstructorName

type FieldName

data Associativity

type Fixity

Combinators

Constructing products

class HPure h

Destructing products

hd

tl

type Projection f xs

projections

shiftProjection

Application

data (f -.-> g) a

fn

fn_2

fn_3

fn_4

type family Prod (h :: (k -> *) -> l -> *) :: (k -> *) -> l -> *

class HAp h

Lifting / mapping

hliftA

hliftA2

hliftA3

hcliftA

hcliftA2

hcliftA3

hmap

hzipWith

hzipWith3

hcmap

hczipWith

hczipWith3

Constructing sums

type Injection f xs

injections

shift

shiftInjection

type family UnProd (h :: (k -> *) -> l -> *) :: (k -> *) -> l -> *

class HApInjs h

apInjs_NP

apInjs_POP

Destructing sums

unZ

class HIndex h

Dealing with All c

hcliftA'

hcliftA2'

hcliftA3'

Collapsing

type family CollapseTo (h :: (k -> *) -> l -> *) (x :: *) :: *

class HCollapse h

Sequencing

class HSequence h

hsequence

hsequenceK

Partial operations

fromList

Utilities

Basic functors

data K a b

unK

data I a

unI

data (f :.: g) p

unComp

Mapping constraints

class All f xs

class All2 f xss

class Compose f g x

class And f g x

class Top x

type family AllN (h :: (k -> *) -> l -> *) (c :: k -> Constraint) :: l -> Constraint

Singletons

data SList

class SListI xs

type SListI2

type Sing

class SingI xs

Shape of type-level lists

data Shape

shape

lengthSList

lengthSing

Re-exports

data Proxy k t