Module
Classless
- Package
- purescript-classless
- Repository
- thought2/purescript-classless
#InitRecordField Source
data InitRecordField aInstances
(IsSymbol sym, Lacks sym r, Cons sym a r rr, Init fn a) => FoldingWithIndex (InitRecordField fn) (Proxy sym) (Record r) (Proxy a) (Record rr)
#NoArgs Source
data NoArgsConstructors
Instances
InitProduct fn NoArgsMapProduct mp NoArgs NoArgs(Applicative f) => SequenceProduct NoArgs NoArguments f
#ProductSpec Source
data ProductSpec a bConstructors
ProductSpec a b
Instances
(Init fn a, InitProduct fn b) => InitProduct fn (ProductSpec a b)(Mapping mp a a', MapProduct mp b b') => MapProduct mp (ProductSpec a b) (ProductSpec a' b')(Applicative f, SequenceProduct a a' f, SequenceProduct b b' f) => SequenceProduct (ProductSpec a b) (Product a' b') f
#InitProduct Source
class InitProduct f a whereMembers
initProduct :: f -> a
Instances
(Init fn a, InitProduct fn b) => InitProduct fn (ProductSpec a b)InitProduct fn NoArgs(Init fn a) => InitProduct fn a
#InitRecord Source
class InitRecord :: Type -> Row Type -> Constraintclass InitRecord f r where
Members
initRecord :: f -> Record r
Instances
(RowToList r rl, HFoldlWithIndex (InitRecordField fn) (Record ()) (Proxy rl) (Record r)) => InitRecord fn r
#InitSum Source
class InitSum :: Type -> Row Type -> Constraintclass InitSum f r where
Members
Instances
(InitRecord (InitSumField f) r) => InitSum f r
#MapProduct Source
class MapProduct mp a b whereMembers
mapProduct :: mp -> a -> b
Instances
(Mapping mp a a', MapProduct mp b b') => MapProduct mp (ProductSpec a b) (ProductSpec a' b')MapProduct mp NoArgs NoArgs(Mapping mp a a') => MapProduct mp a a'
#MapSumProp Source
class MapSumProp :: Symbol -> Row Type -> Row Type -> Constraintclass MapSumProp (k :: Symbol) (ri :: Row Type) (ro :: Row Type) | k ri -> ro where
Members
mapSumProp :: Proxy k -> Record ri -> Record ro
Instances
(IsSymbol k, MapSum (MapProp k) ri ro) => MapSumProp k ri ro
#SequenceProduct Source
class SequenceProduct :: Type -> Type -> (Type -> Type) -> Constraintclass SequenceProduct specI specO (f :: Type -> Type) | specO f -> specI where
Members
sequenceProduct :: specI -> f specO
Instances
(Applicative f) => SequenceProduct NoArgs NoArguments f(Applicative f) => SequenceProduct (f a) (Argument a) f(Applicative f, SequenceProduct a a' f, SequenceProduct b b' f) => SequenceProduct (ProductSpec a b) (Product a' b') f
#SequenceRecord Source
class SequenceRecord :: Row Type -> Row Type -> (Type -> Type) -> Constraintclass SequenceRecord row row' m | row' -> row m where
Members
sequenceRecord :: Record row -> m (Record row')
Instances
(RowToList row' rl', SequenceRecordRL rl' row () row' m) => SequenceRecord row row' m
#SequenceRecordRL Source
class SequenceRecordRL :: RowList Type -> Row Type -> Row Type -> Row Type -> (Type -> Type) -> Constraintclass (Functor m) <= SequenceRecordRL (rl :: RowList Type) row from to m | rl row -> from to m where
Members
Instances
(IsSymbol name, Cons name (m ty) () row, Functor m, Lacks name (), Cons name ty () to) => SequenceRecordRL (Cons name ty Nil) row () to m(IsSymbol name, Cons name (m ty) row' row, Apply m, SequenceRecordRL tail row' from from' m, Lacks name from', Lacks name row', Cons name ty from' to) => SequenceRecordRL (Cons name ty tail) row from to m(Applicative m) => SequenceRecordRL Nil row () () m
- Modules
- Classless