Mapa mental
Haskell
Conteúdo do mapa
Haskell
Functors
- class Functor f where fmap :: (a -> b) -> f a -> f b
- First functor law
- fmap id = id
- Second functor law
- fmap (f . g) = fmap f . fmap g
- Examples
- List
- ZipList
- Maybe
- Either
Applicative functors
- class (Functor f) => Applicative f where pure :: a -> f a (<*>) :: f (a -> b) -> f a -> f b
- Laws
- pure f <*> = fmap f x pure id <*> v = v pure (.) <*> u <*> v <*> w = u <*> (v <*> w) pure f <*> pure x = pure (f x) u <*> pure y = pure ($ y) <*> u
Monoids
- mempty `mappend` x = x x `mappend` mempty = x (x `mappend` y) `mappend` z = x `mappend` (y `mappend` z)
- Lists
- []
- Any
- False
- All
- True
- Product
- 1
- Sum
- 0
- Ordering
- instance Monoid Ordering where mempty = EQ LT `mappend` _ = LT EQ `mappend` y = y GT `mappend` _ = GT
- Maybe
- instance Monoid a => Monoid (Maybe a) where mempty = Nothing Nothing `mappend` m = m m `mappend` Nothing = m Just m1 `mappend` Just m2 = Just (m1 `mappend` m2)
- First
- instance Monoid (First a) where mempty = First Nothing First (Just x) `mappend` _ = First (Just x) First Nothing `mappend` x = x
- Last
Foldable
Informações
- Descrição
- Mapa Mental sobre Haskell, criado por Виталий Шастун em 17-06-2018.
- Criado por
- Виталий Шастун
- Visualizações
- 1
- Avaliação