----------------------------------------------------------------------------- -- | -- Copyright : (C) 2011-2015 Edward Kmett, -- License : BSD-style (see the file LICENSE) -- -- Maintainer : Edward Kmett -- Stability : provisional -- Portability : portable -- -- For a good explanation of profunctors in Haskell see Dan Piponi's article: -- -- -- -- For more information on strength and costrength, see: -- -- ---------------------------------------------------------------------------- module Data.Profunctor ( -- * Profunctors Profunctor(dimap,lmap,rmap) -- ** Profunctorial Strength , Strong(..) , uncurry' , Choice(..) -- ** Closed , Closed(..) , curry' , Mapping(..) -- ** Profunctorial Costrength , Costrong(..) , Cochoice(..) -- ** Common Profunctors , Star(..) , Costar(..) , WrappedArrow(..) , Forget(..) , (:->) ) where import Data.Profunctor.Choice import Data.Profunctor.Closed import Data.Profunctor.Mapping import Data.Profunctor.Strong import Data.Profunctor.Types