profunctor-extras (empty) → 0.1
raw patch · 4 files changed
+83/−0 lines, 4 filesdep +basedep +comonaddep +profunctorssetup-changed
Dependencies added: base, comonad, profunctors, semigroupoids
Files
- Data/Profunctor/Composition.hs +16/−0
- LICENSE +30/−0
- Setup.lhs +7/−0
- profunctor-extras.cabal +30/−0
+ Data/Profunctor/Composition.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE GADTs #-}+module Data.Profunctor.Composition + ( Compose(..)+ ) where++import Data.Profunctor++data Compose f g d c where+ Compose :: f d a -> g a c -> Compose f g d c ++instance (Profunctor f, Profunctor g) => Profunctor (Compose f g) where+ lmap k (Compose f g) = Compose (lmap k f) g+ rmap k (Compose f g) = Compose f (rmap k g)++instance Profunctor g => Functor (Compose f g a) where+ fmap k (Compose f g) = Compose f (rmap k g)
+ LICENSE view
@@ -0,0 +1,30 @@+Copyright 2011 Edward Kmett++All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions+are met:++1. Redistributions of source code must retain the above copyright+ notice, this list of conditions and the following disclaimer.++2. Redistributions in binary form must reproduce the above copyright+ notice, this list of conditions and the following disclaimer in the+ documentation and/or other materials provided with the distribution.++3. Neither the name of the author nor the names of his contributors+ may be used to endorse or promote products derived from this software+ without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE+DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN+ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE+POSSIBILITY OF SUCH DAMAGE.
+ Setup.lhs view
@@ -0,0 +1,7 @@+#!/usr/bin/runhaskell+> module Main (main) where++> import Distribution.Simple++> main :: IO ()+> main = defaultMain
+ profunctor-extras.cabal view
@@ -0,0 +1,30 @@+name: profunctor-extras+category: Control, Categories+version: 0.1+license: BSD3+cabal-version: >= 1.6+license-file: LICENSE+author: Edward A. Kmett+maintainer: Edward A. Kmett <ekmett@gmail.com>+stability: experimental+homepage: git://github.com/ekmett/profunctors/+copyright: Copyright (C) 2011 Edward A. Kmett+synopsis: Profunctor extras+description: Profunctor extras+build-type: Simple++source-repository head+ type: git+ location: git://github.com/ekmett/profunctors.git++library+ build-depends: + base >= 4 && < 5,+ semigroupoids >= 1.2.2 && <= 1.3,+ comonad >= 1.1 && < 1.2,+ profunctors >= 0.1 && < 0.2++ exposed-modules:+ Data.Profunctor.Composition++ ghc-options: -Wall