Data.Diverse.Many

Many type

data Many xs

Isomorphism

class IsMany t xs a

fromMany'

toMany'

Construction

nil

single

prefix

(./)

postfix

postfix'

(\.)

append

class CanAppendUnique xs ys

(/./)

Simple queries

viewf

viewb

front

back

aft

fore

Single field

Getter for single field

fetch

fetchL

fetchTag

fetchN

Setter for single field

replace

replace'

replaceL

replaceL'

replaceTag

replaceTag'

replaceN

replaceN'

Multiple fields

Getter for multiple fields

type Select smaller larger

select

selectL

type SelectN ns smaller larger

selectN

Setter for multiple fields

type Amend smaller smaller' larger

amend

type Amend' smaller larger

amend'

amendL

amendL'

type AmendN ns smaller smaller' larger

amendN

type AmendN' ns smaller larger

amendN'

Destruction

By type

type Collect c r xs

data Collector c xs r

forMany

collect

By Nat index offset

type CollectN c r n xs

data CollectorN c n xs r

forManyN

collectN