Monadic fold over the elements of a non-empty structure, associating to the left, i.e. from left to right.
Modulererebase-1.21.2Haskell2010
Data.Semigroup.Foldable
- 1 class
- 12 values
- Packagererebase-1.21.2
- Exports13
- LanguageHaskell2010
- LicenceMIT
- SourceFoldable1.hs
Monadic fold over the elements of a non-empty structure, associating to the right, i.e. from right to left.
Insert an m between each pair of t m.
intercalate1 ", " $ "hello" :| ["how", "are", "you"]"hello, how, are, you"
intercalate1 ", " $ "hello" :| []"hello"
intercalate1 mempty $ "I" :| ["Am", "Fine", "You?"]"IAmFineYou?"
Usable default for foldMap, but only if you define foldMap1 yourself
Generic fold1. Caveats:
Will not compile if
tis an empty constructor.Will not compile if
thas some fields that don't mentiona, for exmapledata Bar a = MkBar a Int
Generic toNonEmpty. Caveats are the same as for gfold1.
Insert m between each pair of m derived from a.
intercalateMap1 " " show $ True :| [False, True]"True False True"
intercalateMap1 " " show $ True :| []"True"
Non-empty data structures that can be folded.
Methods
Instances43Foldable1, …
Foldable1 ComplexDefined in base-4.20.2.0 · Data.Foldable1Foldable1 FirstDefined in base-4.20.2.0 · Data.Foldable1Foldable1 LastDefined in base-4.20.2.0 · Data.Foldable1Foldable1 MaxDefined in base-4.20.2.0 · Data.Foldable1Foldable1 MinDefined in base-4.20.2.0 · Data.Foldable1Foldable1 SCCDefined in containers-0.7 · Data.GraphFoldable1 TreeDefined in containers-0.7 · Data.TreeFolds in preorder
Foldable1 NonEmptyDefined in base-4.20.2.0 · Data.Foldable1Foldable1 IdentityDefined in base-4.20.2.0 · Data.Foldable1Foldable1 DownDefined in base-4.20.2.0 · Data.Foldable1Foldable1 DualDefined in base-4.20.2.0 · Data.Foldable1Foldable1 ProductDefined in base-4.20.2.0 · Data.Foldable1Foldable1 SumDefined in base-4.20.2.0 · Data.Foldable1Foldable1 Par1Defined in base-4.20.2.0 · Data.Foldable1Foldable1 SoloDefined in base-4.20.2.0 · Data.Foldable1Foldable1 V1Defined in base-4.20.2.0 · Data.Foldable1Foldable1 (Tuple2 a)Defined in base-4.20.2.0 · Data.Foldable1Foldable1 f => Foldable1 (Ap f)Defined in free-5.2 · Control.Applicative.FreefoldMap f == foldMap f . runAp toNonEmptyFoldable1 f => Foldable1 (Cofree f)Defined in free-5.2 · Control.Comonad.CofreeFoldable1 f => Foldable1 (Free f)Defined in free-5.2 · Control.Monad.FreeFoldable1 f => Foldable1 (Free f)Defined in free-5.2 · Control.Monad.Free.ApFoldable1 f => Foldable1 (F f)Defined in free-5.2 · Control.Monad.Free.ChurchFoldable1 f => Foldable1 (Coyoneda f)Defined in kan-extensions-5.2.7 · Data.Functor.CoyonedaFoldable1 f => Foldable1 (Yoneda f)Defined in kan-extensions-5.2.7 · Data.Functor.YonedaFoldable1 f => Foldable1 (Lift f)Defined in transformers-0.6.1.1 · Control.Applicative.LiftFoldable1 m => Foldable1 (IterT m)Defined in free-5.2 · Control.Monad.Trans.IterBifoldable1 p => Foldable1 (Join p)Defined in bifunctors-5.6.2 · Data.Bifunctor.JoinFoldable1 (Tagged a)Defined in tagged-0.8.9 · Data.TaggedFoldable1 f => Foldable1 (Ap f)Defined in base-4.20.2.0 · Data.Foldable1Foldable1 f => Foldable1 (Alt f)Defined in base-4.20.2.0 · Data.Foldable1Foldable1 f => Foldable1 (Rec1 f)Defined in base-4.20.2.0 · Data.Foldable1Foldable1 f => Foldable1 (Backwards f)Defined in transformers-0.6.1.1 · Control.Applicative.BackwardsDerived instance.
Foldable1 f => Foldable1 (Reverse f)Defined in transformers-0.6.1.1 · Data.Functor.ReverseFold from right to left.
Foldable1 m => Foldable1 (IdentityT m)Defined in transformers-0.6.1.1 · Control.Monad.Trans.Identity(Foldable1 f, Foldable1 m) => Foldable1 (ReaderT f m)Defined in adjunctions-4.4.3 · Control.Monad.Representable.Reader(Foldable1 f, Foldable1 g) => Foldable1 (Product f g)Defined in base-4.20.2.0 · Data.Foldable1(Foldable1 f, Foldable1 g) => Foldable1 (Sum f g)Defined in base-4.20.2.0 · Data.Foldable1(Foldable1 f, Foldable1 g) => Foldable1 (f :*: g)Defined in base-4.20.2.0 · Data.Foldable1(Foldable1 f, Foldable1 g) => Foldable1 (f :+: g)Defined in base-4.20.2.0 · Data.Foldable1Foldable1 f => Foldable1 (M1 i c f)Defined in base-4.20.2.0 · Data.Foldable1Foldable1 g => Foldable1 (Joker g a)Defined in bifunctors-5.6.2 · Data.Bifunctor.Joker(Foldable1 f, Foldable1 g) => Foldable1 (Compose f g)Defined in base-4.20.2.0 · Data.Foldable1(Foldable1 f, Foldable1 g) => Foldable1 (f :.: g)Defined in base-4.20.2.0 · Data.Foldable1