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

fetchN

Setter for single field

replace

replace'

replaceL

replaceL'

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 larger

amend

type Amend' smaller smaller' larger

amend'

amendL

amendL'

type AmendN ns smaller larger

amendN

type AmendN' ns smaller 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

Splitting operations

Splitting

splitBefore

splitBeforeL

splitBeforeN

splitAfter

splitAfterL

splitAfterN

inset multiple items

insetBefore

insetBeforeL

insetBeforeN

insetAfter

insetAfterL

insetAfterN

insert single item

insertBefore

insertBeforeL

insertBeforeN

insertAfter

insertAfterL

insertAfterN

Deleting single item

remove

removeL

removeN