Изменения

Перейти к: навигация, поиск

Функциональное программирование

522 байта добавлено, 10:15, 29 апреля 2015
Categories
==Categories==
class Category cat where id :: cat a a (Functor f.) =:: cat b c -> Applicative f cat a b -> cat a c
Monad Join mclass Functor f where fmap :: (a -> b) -> f a -> f b
data Identityclass Monad m where (>>=) :: m a -> (a -> m b) -> m b return :: a -> m a class (Functor f) => Applicative f where pure :: a -> f a (<*>) :: f (a -> b) -> f a -> f b
instance Monad Identity class Functor m => MonadJoin m where returnJoin :: a -> m a join :: m (m a) -> m a
data MaybeIdentity a = Identity { runIdentity :: a }
instance Monad data Maybe a = Just a | Nothing
instance Monad Maybe where Nothing >>= f = Nothing (Just x) >>= f = f x return x = Just x instance Monad [] where m >>= f = concat (map f m) return x = [x]
data State
120
правок

Навигация