Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Documentation
class Covariant t => Bindable t where Source #
When providing a new instance, you should ensure it satisfies the one law: * Interchange: t >>= f = join (f <$> t)
(>>=) :: t a -> (a -> t b) -> t b infixl 1 Source #
Infix and flipped version of bind
, the dual of =>>
(=<<) :: (a -> t b) -> t a -> t b infixr 1 Source #
Flipped version of >>=
, the dual of <<=
bind :: (a -> t b) -> t a -> t b Source #
Prefix and flipped version of >>=
, the dual of extend
join :: (t :.: t) a -> t a Source #
Merge effects/contexts, the dual of duplicate
(>=>) :: (a -> t b) -> (b -> t c) -> a -> t c infixr 1 Source #
Left-to-right Kleisli composition
(<=<) :: (b -> t c) -> (a -> t b) -> a -> t c infixr 1 Source #
Right-to-left Kleisli composition
Instances
Bindable Identity Source # | |
Defined in Data.Functor.Identity (>>=) :: Identity a -> (a -> Identity b) -> Identity b Source # (=<<) :: (a -> Identity b) -> Identity a -> Identity b Source # bind :: (a -> Identity b) -> Identity a -> Identity b Source # join :: (Identity :.: Identity) a -> Identity a Source # (>=>) :: (a -> Identity b) -> (b -> Identity c) -> a -> Identity c Source # (<=<) :: (b -> Identity c) -> (a -> Identity b) -> a -> Identity c Source # |