packages feed

groupoids 3.0 → 3.0.1

raw patch · 12 files changed

+119/−40 lines, 12 filesdep ~basedep ~semigroupoidsPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base, semigroupoids

API changes (from Hackage documentation)

Files

+ .ghci view
@@ -0,0 +1,1 @@+:set -isrc -idist/build/autogen -optP-include -optPdist/build/autogen/cabal_macros.h
+ .gitignore view
@@ -0,0 +1,13 @@+dist+docs+wiki+TAGS+tags+wip+.DS_Store+.*.swp+.*.swo+*.o+*.hi+*~+*#
.travis.yml view
@@ -1,1 +1,8 @@ language: haskell+notifications:+  irc:+    channels:+      - "irc.freenode.org#haskell-lens"+    skip_join: true+    template:+      - "\x0313semigroups\x03/\x0306%{branch}\x03 \x0314%{commit}\x03 %{build_url} %{message}"
+ .vim.custom view
@@ -0,0 +1,31 @@+" Add the following to your .vimrc to automatically load this on startup++" if filereadable(".vim.custom")+"     so .vim.custom+" endif++function StripTrailingWhitespace()+  let myline=line(".")+  let mycolumn = col(".")+  silent %s/  *$//+  call cursor(myline, mycolumn)+endfunction++" enable syntax highlighting+syntax on++" search for the tags file anywhere between here and /+set tags=TAGS;/++" highlight tabs and trailing spaces+set listchars=tab:‗‗,trail:‗+set list++" f2 runs hasktags+map <F2> :exec ":!hasktags -x -c --ignore src"<CR><CR>++" strip trailing whitespace before saving+" au BufWritePre *.hs,*.markdown silent! cal StripTrailingWhitespace()++" rebuild hasktags after saving+au BufWritePost *.hs silent! :exec ":!hasktags -x -c --ignore src"
+ CHANGELOG.markdown view
@@ -0,0 +1,5 @@+3.0.1+-----+* Updated build system+* Removed my personal intra-package dependency upper bounds+* Added `README` and `CHANGELOG`
− Data/Groupoid.hs
@@ -1,13 +0,0 @@-module Data.Groupoid-  ( Groupoid(..)-  ) where--import Data.Semigroupoid-import Data.Semigroupoid.Dual---- | semigroupoid with inverses. This technically should be a category with inverses, except we need to use Ob to define the valid objects for the category-class Semigroupoid k => Groupoid k where-  inv :: k a b -> k b a--instance Groupoid k => Groupoid (Dual k) where-  inv (Dual k) = Dual (inv k)
− Data/Isomorphism.hs
@@ -1,20 +0,0 @@-module Data.Isomorphism-  ( Iso(..)-  ) where--import Data.Semigroupoid-import Data.Groupoid-import Control.Category-import Prelude ()--data Iso k a b = Iso { embed :: k a b, project :: k b a }--instance Semigroupoid k => Semigroupoid (Iso k) where-  Iso f g `o` Iso h i = Iso (f `o` h) (i `o` g)--instance Semigroupoid k => Groupoid (Iso k) where-  inv (Iso f g) = Iso g f--instance Category k => Category (Iso k) where-  Iso f g . Iso h i = Iso (f . h) (i . g)-  id = Iso id id
LICENSE view
@@ -1,4 +1,4 @@-Copyright 2011 Edward Kmett+Copyright 2011-2013 Edward Kmett  All rights reserved. 
+ README.markdown view
@@ -0,0 +1,15 @@+groupoids+==========++[![Build Status](https://secure.travis-ci.org/ekmett/groupoids.png?branch=master)](http://travis-ci.org/ekmett/groupoids)++A groupoid is a category where every arrow has an inverse. This package provides them for Haskell.++Contact Information+-------------------++Contributions and bug reports are welcome!++Please feel free to contact me through github or on the #haskell IRC channel on irc.freenode.net.++-Edward Kmett
groupoids.cabal view
@@ -1,6 +1,6 @@ name:          groupoids category:      Control, Categories-version:       3.0+version:       3.0.1 license:       BSD3 cabal-version: >= 1.6 license-file:  LICENSE@@ -9,12 +9,18 @@ stability:     experimental homepage:      http://github.com/ekmett/groupoids/ bug-reports:   http://github.com/ekmett/groupoids/issues-copyright:     Copyright (C) 2011 Edward A. Kmett+copyright:     Copyright (C) 2011-2013 Edward A. Kmett synopsis:      Haskell 98 Groupoids description:   Haskell 98 Groupoids build-type:    Simple -extra-source-files: .travis.yml+extra-source-files:+  .ghci+  .gitignore+  .vim.custom+  .travis.yml+  README.markdown+  CHANGELOG.markdown  source-repository head   type: git@@ -22,11 +28,12 @@  library   build-depends:-    base          >= 4   && < 5,-    semigroupoids >= 3.0 && <= 3.1+    base          >= 4 && < 5,+    semigroupoids >= 3    exposed-modules:     Data.Groupoid     Data.Isomorphism -  ghc-options:      -Wall+  ghc-options: -Wall+  hs-source-dirs: src
+ src/Data/Groupoid.hs view
@@ -0,0 +1,13 @@+module Data.Groupoid+  ( Groupoid(..)+  ) where++import Data.Semigroupoid+import Data.Semigroupoid.Dual++-- | semigroupoid with inverses. This technically should be a category with inverses, except we need to use Ob to define the valid objects for the category+class Semigroupoid k => Groupoid k where+  inv :: k a b -> k b a++instance Groupoid k => Groupoid (Dual k) where+  inv (Dual k) = Dual (inv k)
+ src/Data/Isomorphism.hs view
@@ -0,0 +1,20 @@+module Data.Isomorphism+  ( Iso(..)+  ) where++import Data.Semigroupoid+import Data.Groupoid+import Control.Category+import Prelude ()++data Iso k a b = Iso { embed :: k a b, project :: k b a }++instance Semigroupoid k => Semigroupoid (Iso k) where+  Iso f g `o` Iso h i = Iso (f `o` h) (i `o` g)++instance Semigroupoid k => Groupoid (Iso k) where+  inv (Iso f g) = Iso g f++instance Category k => Category (Iso k) where+  Iso f g . Iso h i = Iso (f . h) (i . g)+  id = Iso id id