constrained-categories-0.2.5.1: Constrained clones of the category-theory type classes, using ConstraintKinds.

Copyright(c) 2014 Justus Sagemüller
LicenseGPL v3 (see COPYING)
Maintainer(@) sagemueller $ geo.uni-koeln.de
Safe HaskellTrustworthy
LanguageHaskell2010

Data.Traversable.Constrained

Description

 

Synopsis

Documentation

class (Category k, Category l, Functor s l l, Functor t k k) => Traversable s t k l | s k l -> t, t k l -> s, s t k -> l, s t l -> k where Source

Minimal complete definition

traverse

Methods

traverse :: (Monoidal f k l, Object l a, Object l (s a), ObjectPair k b (t b), ObjectPair l (f b) (f (t b)), ObjectPoint k (t b)) => (a `l` f b) -> s a `l` f (t b) Source

mapM :: (k ~ l, s ~ t, Applicative m k k, Object k a, Object k (t a), ObjectPair k b (t b), ObjectPair k (m b) (m (t b)), ObjectPoint k (t b)) => (a `k` m b) -> t a `k` m (t b) Source

traverse, restricted to endofunctors. May be more efficient to implement.

Instances

(Arrow k (->), WellPointed k, Function k, Functor [] k k) => Traversable [] [] k k Source 
(Arrow k (->), WellPointed k, Function k, Functor Maybe k k) => Traversable Maybe Maybe k k Source 

sequence :: (Traversable t t k k, Monoidal f k k, ObjectPair k a (t a), ObjectPair k (f a) (f (t a)), Object k (t (f a)), ObjectPoint k (t a)) => t (f a) `k` f (t a) Source

forM :: forall s t k m a b l. (Traversable s t k l, Monoidal m k l, Function l, Object k b, Object k (t b), ObjectPair k b (t b), Object l a, Object l (s a), ObjectPair l (m b) (m (t b)), ObjectPoint k (t b)) => s a -> (a `l` m b) -> m (t b) Source

Flipped version of traverse / mapM.

type EndoTraversable t k = Traversable t t k k Source

A traversable that can be used with mapM.