packages feed

mixed-types-num 0.3.0.1 → 0.3.1

raw patch · 5 files changed

+27/−6 lines, 5 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

+ Numeric.MixedTypes.Literals: drop :: (CanBeInteger n) => n -> [a] -> [a]
+ Numeric.MixedTypes.Literals: length :: (Foldable t) => t a -> Integer
+ Numeric.MixedTypes.Literals: replicate :: (CanBeInteger n) => n -> a -> [a]
+ Numeric.MixedTypes.Literals: splitAt :: (CanBeInteger n) => n -> [a] -> ([a], [a])
+ Numeric.MixedTypes.Literals: take :: (CanBeInteger n) => n -> [a] -> [a]
- Numeric.MixedTypes.Literals: (!!) :: (CanBeInteger t) => [a] -> t -> a
+ Numeric.MixedTypes.Literals: (!!) :: (CanBeInteger n) => [a] -> n -> a
- Numeric.MixedTypes.Ring: type CanAddSubMulBy t s = (CanAddThis t s, CanSubThis t s, CanMulBy t s)
+ Numeric.MixedTypes.Ring: type CanAddSubMulBy t s = (CanAddThis t s, CanSubThis t s, CanSub s t, SubType s t ~ t, CanMulBy t s)

Files

changelog.md view
@@ -1,3 +1,6 @@+* v 0.3.1 2017-08-15+  * provided compatible versions of take, drop, length, replicate, splitAt+ * v 0.3.0.1 2017-08-01   * improve package documentation in module MixedTypesNumPrelude 
mixed-types-num.cabal view
@@ -1,5 +1,5 @@ name:           mixed-types-num-version:        0.3.0.1+version:        0.3.1 cabal-version:  >= 1.9.2 build-type:     Simple homepage:       https://github.com/michalkonecny/mixed-types-num
src/Numeric/MixedTypes/Literals.hs view
@@ -46,11 +46,13 @@   , CanBeDouble, double, doubles   , ConvertibleExactly(..), convertExactly, convertExactlyTargetSample   , ConvertResult, ConvertError, convError-  -- * Generic list index-  , (!!), specCanBeInteger, printArgsIfFails2+  -- * Prelude List operations versions without Int+  , (!!), length, replicate, take, drop, splitAt   -- * Testing support functions   , T(..), tInt, tInteger, tRational, tDouble   , tBool, tMaybe, tMaybeBool, tMaybeMaybeBool+  , specCanBeInteger+  , printArgsIfFails2   -- * Helper functions   , convertFirst, convertSecond   , convertFirstUsing, convertSecondUsing@@ -118,9 +120,24 @@ fromInteger_ :: (HasIntegers t) => Integer -> t fromInteger_ = convertExactly -(!!) :: (CanBeInteger t) => [a] -> t -> a+(!!) :: (CanBeInteger n) => [a] -> n -> a list !! ix = List.genericIndex list (integer ix) -- list !! ix = List.genericIndex list (P.max 0 ((integer ix) P.- 1)) -- deliberately wrong - test the test!++length :: (Foldable t) => t a -> Integer+length = integer . P.length++replicate :: (CanBeInteger n) => n -> a -> [a]+replicate = P.replicate . int . integer++take :: (CanBeInteger n) => n -> [a] -> [a]+take = P.take . int . integer++drop :: (CanBeInteger n) => n -> [a] -> [a]+drop = P.drop . int . integer++splitAt :: (CanBeInteger n) => n -> [a] -> ([a],[a])+splitAt = P.splitAt . int . integer  {-|   HSpec properties that each implementation of CanBeInteger should satisfy.
src/Numeric/MixedTypes/PreludeHiding.hs view
@@ -18,7 +18,8 @@  import Prelude hiding   (-    fromInteger, fromRational, (!!)+    fromInteger, fromRational+    , (!!), length, replicate, take, drop, splitAt     , Eq(..), Ord(..), Num(..), Fractional(..), RealFrac(..), Floating(..)     , not, (&&), (||), and, or     , (^), (^^)
src/Numeric/MixedTypes/Ring.hs view
@@ -53,7 +53,7 @@ {----- Ring -----}  type CanAddSubMulBy t s =-  (CanAddThis t s, CanSubThis t s, CanMulBy t s)+  (CanAddThis t s, CanSubThis t s, CanSub s t, SubType s t ~ t, CanMulBy t s)  type RingPre t =   (CanNegSameType t, CanAddSameType t, CanSubSameType t, CanMulSameType t,