Module

Record.Extra

#mapRecord

mapRecord :: forall row xs a b row'. RowToList row xs => MapRecord xs row a b () row' => (a -> b) -> {  | row } -> {  | row' }

#MapRecord

class MapRecord (xs :: RowList) (row :: # Type) a b (from :: # Type) (to :: # Type) | xs -> row a b from to where

Members

Instances

#ZipRecord

class ZipRecord (rla :: RowList) (ra :: # Type) (rlb :: RowList) (rb :: # Type) (from :: # Type) (to :: # Type) | rla -> ra from to, rlb -> rb from to where

Members

Instances

#zipRecord

zipRecord :: forall ta ra tb rb rc. RowToList ra ta => RowToList rb tb => ZipRecord ta ra tb rb () rc => {  | ra } -> {  | rb } -> {  | rc }

#Keys

class Keys (xs :: RowList)  where

Members

Instances

#keys

keys :: forall g row rl. RowToList row rl => Keys rl => g row -> List String

#slistKeys

slistKeys :: forall g tuples rl. SListToRowList tuples rl => Keys rl => g tuples -> List String

#SList

kind SList

#SCons

data SCons :: Symbol -> SList -> SList

Instances

#SNil

data SNil :: SList

Instances

#SLProxy

data SLProxy (xs :: SList)

Constructors

#type (:::)

Operator alias for Record.Extra.SCons (right-associative / precedence 6)

#SListToRowList

class SListToRowList (xs :: SList) (rl :: RowList) | xs -> rl, rl -> xs

Instances

#OrdRecord

class OrdRecord rl row | rl -> row where

Members

Instances

#compareRecord

compareRecord :: forall row rl. RowToList row rl => OrdRecord rl row => {  | row } -> {  | row } -> Ordering

#SequenceRecord

class (Applicative m) <= SequenceRecord rl row from to m | rl -> row from to m where

Members

Instances

#sequenceRecord

sequenceRecord :: forall row row' rl m. RowToList row rl => Applicative m => SequenceRecord rl row () row' m => {  | row } -> m ({  | row' })

Modules