Module
Heterogenous.Folding
- Package
- purescript-heterogenous
- Repository
- natefaubion/purescript-heterogenous
#FoldingWithIndex Source
class FoldingWithIndex f i x y z | f x y -> z, f -> i where
Members
foldingWithIndex :: f -> i -> x -> y -> z
Instances
FoldingWithIndex (i -> x -> y -> x) i x y x
(Folding f x y z) => FoldingWithIndex (ConstFolding f) i x y z
#HFoldl Source
class HFoldl f x a b | a -> f x b where
Members
hfoldl :: f -> x -> a -> b
Instances
(Foldable g, Folding f x y x) => HFoldl f x (App g y) x
(HFoldlWithIndex (ConstFolding f) x (RLProxy rl) b) => HFoldl f x (RLProxy rl) b
(RowToList r rl, FoldlRecord (ConstFolding f) x rl r b) => HFoldl f x (Record r) b
(Folding f x a y, Folding f y b z) => HFoldl f x (Tuple a b) z
#HFoldlWithIndex Source
class HFoldlWithIndex f x a b | a -> f x b where
Members
hfoldlWithIndex :: f -> x -> a -> b
Instances
(FoldableWithIndex i g, FoldingWithIndex f i x y x) => HFoldlWithIndex f x (App g y) x
(FoldingWithIndex f (SProxy sym) x (Proxy y) z, HFoldlWithIndex f z (RLProxy rl) b) => HFoldlWithIndex f x (RLProxy (Cons sym y rl)) b
HFoldlWithIndex f x (RLProxy Nil) x
(RowToList r rl, FoldlRecord f x rl r b) => HFoldlWithIndex f x (Record r) b
#ConstFolding Source
newtype ConstFolding f
Constructors
Instances
(Folding f x y z) => FoldingWithIndex (ConstFolding f) i x y z
#FoldlRecord Source
class FoldlRecord f x (rl :: RowList) (r :: Row Type) b | rl -> f x r b where
Members
foldlRecordRowList :: f -> x -> RLProxy rl -> Record r -> b
Instances
(IsSymbol sym, Cons sym a r' r, FoldingWithIndex f (SProxy sym) x a z, FoldlRecord f z rl r b) => FoldlRecord f x (Cons sym a rl) r b
FoldlRecord f x Nil r x