console functions
This commit is contained in:
+160
@@ -1,2 +1,162 @@
|
||||
Folds
|
||||
=====
|
||||
|
||||
Basic Folds
|
||||
-----------
|
||||
|
||||
```haskell
|
||||
foldMap :: (Foldable t, Monoid m) => (a -> m) -> t a -> m
|
||||
```
|
||||
|
||||
```haskell
|
||||
foldr :: Foldable t => (a -> b -> b) -> b -> t a -> b
|
||||
```
|
||||
|
||||
```haskell
|
||||
foldl :: Foldable t => (b -> a -> b) -> b -> t a -> b
|
||||
```
|
||||
|
||||
```haskell
|
||||
foldr' :: Foldable t => (a -> b -> b) -> b -> t a -> b
|
||||
```
|
||||
|
||||
```haskell
|
||||
foldl' :: Foldable t => (b -> a -> b) -> b -> t a -> b
|
||||
```
|
||||
|
||||
```haskell
|
||||
fold :: Foldable t => Monoid m => t m -> m
|
||||
```
|
||||
|
||||
```haskell
|
||||
toList :: Foldable t => t a -> [a]
|
||||
```
|
||||
|
||||
```haskell
|
||||
null :: Foldable t => t a -> Bool
|
||||
```
|
||||
|
||||
```haskell
|
||||
length :: Foldable t => t a -> Int
|
||||
```
|
||||
|
||||
```haskell
|
||||
elem :: (Eq a, Foldable t) => a -> t a -> Bool
|
||||
```
|
||||
|
||||
```haskell
|
||||
maximum :: (Ord a, Foldable t) => t a -> a
|
||||
```
|
||||
|
||||
```haskell
|
||||
minimum :: (Ord a, Foldable t) => t a -> a
|
||||
```
|
||||
|
||||
```haskell
|
||||
sum :: (Num a, Foldable f) => f a -> a
|
||||
```
|
||||
|
||||
```haskell
|
||||
product :: (Num a, Foldable f) => f a -> a
|
||||
```
|
||||
|
||||
#### Folding actions
|
||||
|
||||
```haskell
|
||||
traverse_ :: (Foldable t, Applicative f) => (a -> f b) -> t a -> f ()
|
||||
```
|
||||
|
||||
```haskell
|
||||
for_ :: (Foldable t, Applicative f) => t a -> (a -> f b) -> f ()
|
||||
```
|
||||
|
||||
*Example*:
|
||||
|
||||
```haskell
|
||||
>>> for_ [1..4] print
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
```
|
||||
|
||||
|
||||
#### Applicative Folds
|
||||
|
||||
```haskell
|
||||
sequenceA_ :: (Foldable t, Applicative f) => t (f a) -> f ()
|
||||
```
|
||||
|
||||
```haskell
|
||||
asum :: (Foldable t, Alternative f) => t (f a) -> f a
|
||||
```
|
||||
|
||||
#### Monadic Folds
|
||||
|
||||
```haskell
|
||||
mapM_ :: (Foldable t, Monad m) => (a -> m b) -> t a -> m ()
|
||||
```
|
||||
|
||||
```haskell
|
||||
forM_ :: (Foldable t, Monad m) => t a -> (a -> m b) -> m ()
|
||||
```
|
||||
|
||||
```haskell
|
||||
sequence_ :: (Foldable t, Monad m) => t (m a) -> m ()
|
||||
```
|
||||
|
||||
```haskell
|
||||
msum :: (Foldable t, MonadPlus m) => t (m a) -> m a
|
||||
```
|
||||
|
||||
```haskell
|
||||
foldrM :: (Foldable t, Monad m) => (a -> b -> m b) -> b -> t a -> m b
|
||||
```
|
||||
|
||||
```haskell
|
||||
foldlM :: (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m b
|
||||
```
|
||||
|
||||
#### Specialized folds
|
||||
|
||||
```haskell
|
||||
concat :: Foldable t => t [a] -> [a]
|
||||
```
|
||||
|
||||
```haskell
|
||||
concatMap :: Foldable t => (a -> [b]) -> t a -> [b]
|
||||
```
|
||||
|
||||
```haskell
|
||||
and :: Foldable t => t Bool -> Bool
|
||||
```
|
||||
|
||||
```haskell
|
||||
or :: Foldable t => t Bool -> Bool
|
||||
```
|
||||
|
||||
```haskell
|
||||
any :: Foldable t => (a -> Bool) -> t a -> Bool
|
||||
```
|
||||
|
||||
```haskell
|
||||
all :: Foldable t => (a -> Bool) -> t a -> Bool
|
||||
```
|
||||
|
||||
```haskell
|
||||
maximumBy :: Foldable t => (a -> a -> Ordering) -> t a -> a
|
||||
```
|
||||
|
||||
```haskell
|
||||
minimumBy :: Foldable t => (a -> a -> Ordering) -> t a -> a
|
||||
```
|
||||
|
||||
#### Searches
|
||||
|
||||
```haskell
|
||||
notElem :: (Foldable t, Eq a) => a -> t a -> Bool
|
||||
```
|
||||
|
||||
```haskell
|
||||
find :: Foldable t => (a -> Bool) -> t a -> Maybe a
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user