sign 0.3.0 → 0.4.0
raw patch · 4 files changed
+66/−48 lines, 4 filesdep −algebradep −representable-functors
Dependencies removed: algebra, representable-functors
Files
- .travis.yml +55/−1
- CHANGELOG.markdown +8/−0
- sign.cabal +3/−8
- src/Data/Sign.hs +0/−39
.travis.yml view
@@ -1,1 +1,55 @@-language: haskell+# NB: don't set `language: haskell` here++# The following enables several GHC versions to be tested; often it's enough to test only against the last release in a major GHC version. Feel free to omit lines listings versions you don't need/want testing for.+env:+# - GHCVER=6.12.3+# - GHCVER=7.0.1+# - GHCVER=7.0.2+# - GHCVER=7.0.3+# - GHCVER=7.0.4+# - GHCVER=7.2.1+# - GHCVER=7.2.2+# - GHCVER=7.4.1+# - GHCVER=7.4.2+# - GHCVER=7.6.1+# - GHCVER=7.6.2+ - GHCVER=7.6.3+# - GHCVER=7.8.1 # see note about Alex/Happy+ - GHCVER=7.8.2 # see note about Alex/Happy+# - GHCVER=head # see section about GHC HEAD snapshots++# Note: the distinction between `before_install` and `install` is not important.+before_install:+ - travis_retry sudo add-apt-repository -y ppa:hvr/ghc+ - travis_retry sudo apt-get update+ - travis_retry sudo apt-get install cabal-install-1.18 ghc-$GHCVER # see note about happy/alex+ - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/1.18/bin:$PATH+ - |+ if [ $GHCVER = "head" ] || [ ${GHCVER%.*} = "7.8" ]; then+ travis_retry sudo apt-get install happy-1.19.3 alex-3.1.3+ export PATH=/opt/alex/3.1.3/bin:/opt/happy/1.19.3/bin:$PATH+ else+ travis_retry sudo apt-get install happy alex+ fi++install:+ - cabal update+ - cabal install --only-dependencies --enable-tests -v2 # -v2 provides useful information for debugging++# Here starts the actual work to be performed for the package under test; any command which exits with a non-zero exit code causes the build to fail.+script:+ - cabal configure --enable-tests -v2 # -v2 provides useful information for debugging+ - cabal build # this builds all libraries and executables (including tests/benchmarks)+ - cabal test+ - cabal check+ - cabal sdist # tests that a source-distribution can be generated++# The following scriptlet checks that the resulting source distribution can be built & installed+ - export SRC_TGZ=$(cabal-1.18 info . | awk '{print $2 ".tar.gz";exit}') ;+ cd dist/;+ if [ -f "$SRC_TGZ" ]; then+ cabal install "$SRC_TGZ";+ else+ echo "expected '$SRC_TGZ' not found";+ exit 1;+ fi
+ CHANGELOG.markdown view
@@ -0,0 +1,8 @@+0.4.0+-----+* remove dependency on `algebra` package, since it is outdated and not compatible with recent version of other packages++0.3.0+-----+* avoid dependency issue of comonad-4.* and representable-functors-3.2.0.1+
sign.cabal view
@@ -1,5 +1,5 @@ Name: sign-Version: 0.3.0+Version: 0.4.0 License: BSD3 License-File: LICENSE Author: Masahiro Sakai (masahiro.sakai@gmail.com)@@ -9,14 +9,11 @@ Synopsis: Arithmetic over signs and sets of signs Description: Arithmetic over signs (i.e. -, 0, +) and sets of signs- .- Changes in 0.3.0- .- * avoid dependency issue of comonad-4.* and representable-functors-3.2.0.1 Bug-Reports: https://github.com/msakai/sign/issues Extra-Source-Files: README.md LICENSE+ CHANGELOG.markdown .travis.yml Build-Type: Simple @@ -27,9 +24,7 @@ Library Hs-source-dirs: src Build-Depends:- base >=4 && <5, containers >= 0.4.2, deepseq, hashable >=1.1.2.5 && <1.3.0.0, lattices >=1.2.1.1, algebra,- -- XXX: This is a hack to avoid combining comonad-4.* and representable-functors-3.2.0.1 when compiling algebra package.- representable-functors >=3.2.0.2+ base >=4 && <5, containers >= 0.4.2, deepseq, hashable >=1.1.2.5 && <1.3.0.0, lattices >=1.2.1.1 Default-Language: Haskell2010 Other-Extensions: FlexibleInstances
src/Data/Sign.hs view
@@ -43,7 +43,6 @@ import qualified Data.Set as Set import Data.Typeable import Data.Data-import qualified Numeric.Algebra as Alg -- | Signs of real numbers. data Sign@@ -59,22 +58,6 @@ instance Enumerable Sign where universe = universeBounded -instance Alg.Multiplicative Sign where- (*) = mult- pow1p s n = pow s (1+n)--instance Alg.Commutative Sign--instance Alg.Unital Sign where- one = Pos- pow = pow--instance Alg.Division Sign where- recip = recip- (/) = div- (\\) = flip div- (^) = pow- -- | Unary negation. negate :: Sign -> Sign negate Neg = Pos@@ -164,28 +147,6 @@ instance Fractional (Set Sign) where recip = Set.map recip fromRational = Set.singleton . signOf--instance Alg.Multiplicative (Set Sign) where- (*) = (*)- pow1p s n = Alg.pow s (1+n)--instance Alg.Commutative (Set Sign)--instance Alg.Unital (Set Sign) where- one = Set.singleton Pos- pow = (Alg.^)--instance Alg.Division (Set Sign) where- recip = P.recip- (/) = (/)- (\\) = flip (/)- ss ^ n = Set.map (\s -> pow s n) ss--instance Alg.Additive (Set Sign) where- (+) = (+)- sinnum1p _ ss = ss--instance Alg.Abelian (Set Sign) #if !MIN_VERSION_hashable(1,2,0) -- Copied from hashable-1.2.0.7: