packages feed

generic-random 0.1.0.0 → 0.1.1.0

raw patch · 4 files changed

+13/−16 lines, 4 filesdep ~basePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: base

API changes (from Hackage documentation)

- Data.Random.Generics: Alias :: !(m a -> m b) -> Alias m
- Data.Random.Generics.Internal.Oracle: instance GHC.Generics.Constructor Data.Random.Generics.Internal.Oracle.C1_0AC
- Data.Random.Generics.Internal.Oracle: instance GHC.Generics.Constructor Data.Random.Generics.Internal.Oracle.C1_0Aliased
- Data.Random.Generics.Internal.Oracle: instance GHC.Generics.Constructor Data.Random.Generics.Internal.Oracle.C1_0C
- Data.Random.Generics.Internal.Oracle: instance GHC.Generics.Datatype Data.Random.Generics.Internal.Oracle.D1AC
- Data.Random.Generics.Internal.Oracle: instance GHC.Generics.Datatype Data.Random.Generics.Internal.Oracle.D1Aliased
- Data.Random.Generics.Internal.Oracle: instance GHC.Generics.Datatype Data.Random.Generics.Internal.Oracle.D1C
- Data.Random.Generics.Internal.Types: Alias :: !(m a -> m b) -> Alias m
- Data.Random.Generics.Internal.Types: SomeData :: m a -> SomeData m
+ Data.Random.Generics: [Alias] :: (Data a, Data b) => !(m a -> m b) -> Alias m
+ Data.Random.Generics.Internal.Types: [Alias] :: (Data a, Data b) => !(m a -> m b) -> Alias m
+ Data.Random.Generics.Internal.Types: [SomeData] :: Data a => m a -> SomeData m
- Data.Random.Generics.Internal.Oracle: (#!) :: (?loc :: CallStack, Eq k, Hashable k) => HashMap k v -> k -> v
+ Data.Random.Generics.Internal.Oracle: (#!) :: (Eq k, Hashable k) => HashMap k v -> k -> v
- Data.Random.Generics.Internal.Oracle: makeGenerators :: MonadRandomLike m => DataDef m -> Oracle -> Generators m
+ Data.Random.Generics.Internal.Oracle: makeGenerators :: forall m. MonadRandomLike m => DataDef m -> Oracle -> Generators m
- Data.Random.Generics.Internal.Oracle: smallGenerators :: MonadRandomLike m => DataDef m -> SmallGenerators m
+ Data.Random.Generics.Internal.Oracle: smallGenerators :: forall m. MonadRandomLike m => DataDef m -> SmallGenerators m
- Data.Random.Generics.Internal.Types: castError :: (?loc :: CallStack, Typeable a, Typeable b) => proxy a -> proxy' b -> c
+ Data.Random.Generics.Internal.Types: castError :: (Typeable a, Typeable b) => proxy a -> proxy' b -> c
- Data.Random.Generics.Internal.Types: castM :: (?loc :: CallStack, Typeable a, Typeable b) => m a -> m b
+ Data.Random.Generics.Internal.Types: castM :: forall a b m. (Typeable a, Typeable b) => m a -> m b
- Data.Random.Generics.Internal.Types: composeCastM :: (?loc :: CallStack, Typeable b, Typeable c) => (m c -> d) -> (a -> m b) -> (a -> d)
+ Data.Random.Generics.Internal.Types: composeCastM :: forall a b c d m. (Typeable b, Typeable c) => (m c -> d) -> (a -> m b) -> (a -> d)
- Data.Random.Generics.Internal.Types: unSomeData :: (?loc :: CallStack, Typeable a) => SomeData m -> m a
+ Data.Random.Generics.Internal.Types: unSomeData :: Typeable a => SomeData m -> m a
- Data.Random.Generics.Internal.Types: withProxy :: (?loc :: CallStack) => (a -> b) -> proxy a -> b
+ Data.Random.Generics.Internal.Types: withProxy :: (a -> b) -> proxy a -> b

Files

README.md view
@@ -1,4 +1,4 @@-Generic random generators+Generic random generators [![Hackage](https://img.shields.io/hackage/v/generic-random.svg)](https://hackage.haskell.org/package/generic-random) [![Build Status](https://travis-ci.org/Lysxia/generic-random.svg)](https://travis-ci.org/Lysxia/generic-random) =========================  Define sized random generators for almost any type.
generic-random.cabal view
@@ -1,5 +1,5 @@ name:                generic-random-version:             0.1.0.0+version:             0.1.1.0 synopsis:            Generic random generators description:         Please see the README below. homepage:            http://github.com/lysxia/generic-random@@ -12,6 +12,7 @@ build-type:          Simple extra-source-files:  README.md cabal-version:       >=1.10+tested-with:         GHC == 7.10.3  library   hs-source-dirs:      src@@ -62,4 +63,4 @@  source-repository head   type:     git-  location: https://github.com/lyxia/generic-random+  location: https://github.com/lysxia/generic-random
src/Data/Random/Generics/Internal/Oracle.hs view
@@ -18,7 +18,6 @@ import qualified Data.Vector as V import qualified Data.Vector.Storable as S import GHC.Generics ( Generic )-import GHC.Stack ( CallStack, showCallStack ) import Numeric.AD import Data.Random.Generics.Internal.Types import Data.Random.Generics.Internal.Solver@@ -363,6 +362,7 @@     -- Equations defining C_i(x) for all types with indices i     phis :: Num a => V.Vector (a -> V.Vector a -> a)     phis = V.fromList [ phi dd c (types #! c) | c <- listCs dd ]+    eval' :: Double -> Maybe (S.Vector Double)     eval' x = fixedPoint defSolveArgs phi' (S.replicate m 0)       where         phi' :: (Mode a, Scalar a ~ Double) => V.Vector a -> V.Vector a@@ -510,11 +510,9 @@     select _ _ = (snd . head) as     -- That should not happen in theory, but floating point might be funny. -(#!) :: (?loc :: CallStack, Eq k, Hashable k)+(#!) :: (Eq k, Hashable k)   => HashMap k v -> k -> v-h #! k = HashMap.lookupDefault (e ?loc) k h-  where-    e loc = error ("HashMap.(!): key not found\n" ++ showCallStack loc)+(#!) = (HashMap.!)  -- | @partitions k n@: lists of non-negative integers of length @n@ with sum -- less than or equal to @k@.
src/Data/Random/Generics/Internal/Types.hs view
@@ -7,7 +7,6 @@ import Data.Coerce import Data.Data import Data.Function-import GHC.Stack ( CallStack, showCallStack ) import Test.QuickCheck  data SomeData m where@@ -46,36 +45,35 @@  -- | > composeCast f g = f . g composeCastM :: forall a b c d m-  . (?loc :: CallStack, Typeable b, Typeable c)+  . (Typeable b, Typeable c)   => (m c -> d) -> (a -> m b) -> (a -> d) composeCastM f g | Just Refl <- eqT :: Maybe (b :~: c) = f . g composeCastM _ _ = castError ([] :: [b]) ([] :: [c])  castM :: forall a b m-  . (?loc :: CallStack, Typeable a, Typeable b)+  . (Typeable a, Typeable b)   => m a -> m b castM a | Just Refl <- eqT :: Maybe (a :~: b) = a castM a = let x = castError a x in x -unSomeData :: (?loc :: CallStack, Typeable a) => SomeData m -> m a+unSomeData :: Typeable a => SomeData m -> m a unSomeData (SomeData a) = castM a  applyCast :: (Typeable a, Data b) => (m a -> m b) -> SomeData m -> SomeData m applyCast f = SomeData . f . unSomeData -castError :: (?loc :: CallStack, Typeable a, Typeable b)+castError :: (Typeable a, Typeable b)   => proxy a -> proxy' b -> c castError a b = error $ unlines   [ "Error trying to cast"   , "  " ++ show (typeRep a)   , "to"   , "  " ++ show (typeRep b)-  , showCallStack ?loc   ] -withProxy :: (?loc :: CallStack) => (a -> b) -> proxy a -> b+withProxy :: (a -> b) -> proxy a -> b withProxy f _ =-  f (error $ "This should not be evaluated\n" ++ showCallStack ?loc)+  f (error "This should not be evaluated\n")  reproxy :: proxy a -> Proxy a reproxy _ = Proxy