declarative 0.5.2 → 0.5.3
raw patch · 2 files changed
+10/−4 lines, 2 filesdep ~mighty-metropolisPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: mighty-metropolis
API changes (from Hackage documentation)
- Numeric.MCMC: }
- Numeric.MCMC: class Monad m => PrimMonad (m :: * -> *) where {
+ Numeric.MCMC: class Monad m => PrimMonad (m :: Type -> Type)
- Numeric.MCMC: create :: PrimMonad m => m Gen PrimState m
+ Numeric.MCMC: create :: PrimMonad m => m (Gen (PrimState m))
- Numeric.MCMC: data RealWorld :: *
+ Numeric.MCMC: data RealWorld :: Type
- Numeric.MCMC: hamiltonian :: (Num IxValue t Double, Traversable t, FunctorWithIndex Index t Double t, Ixed t Double, PrimMonad m, (~) * IxValue t Double Double) => Double -> Int -> Transition m Chain t Double b
+ Numeric.MCMC: hamiltonian :: (Num (IxValue (t Double)), Traversable t, FunctorWithIndex (Index (t Double)) t, Ixed (t Double), PrimMonad m, IxValue (t Double) ~ Double) => Double -> Int -> Transition m (Chain (t Double) b)
- Numeric.MCMC: metropolis :: (Traversable f, PrimMonad m) => Double -> Transition m Chain f Double b
+ Numeric.MCMC: metropolis :: (Traversable f, PrimMonad m) => Double -> Transition m (Chain (f Double) b)
- Numeric.MCMC: slice :: (PrimMonad m, FoldableWithIndex Index t a t, Ixed t a, Num IxValue t a, Variate IxValue t a) => IxValue t a -> Transition m Chain t a b
+ Numeric.MCMC: slice :: (PrimMonad m, FoldableWithIndex (Index (t a)) t, Ixed (t a), Num (IxValue (t a)), Variate (IxValue (t a))) => IxValue (t a) -> Transition m (Chain (t a) b)
- Numeric.MCMC: type family PrimState (m :: * -> *) :: *;
+ Numeric.MCMC: type family PrimState (m :: Type -> Type) :: Type
- Numeric.MCMC: withSystemRandom :: PrimBase m => (Gen PrimState m -> m a) -> IO a
+ Numeric.MCMC: withSystemRandom :: PrimBase m => (Gen (PrimState m) -> m a) -> IO a
Files
- declarative.cabal +3/−2
- lib/Numeric/MCMC.hs +7/−2
declarative.cabal view
@@ -1,5 +1,5 @@ name: declarative-version: 0.5.2+version: 0.5.3 synopsis: DIY Markov Chains. homepage: http://github.com/jtobin/declarative license: MIT@@ -8,6 +8,7 @@ maintainer: jared@jtobin.ca category: Math build-type: Simple+tested-with: GHC == 8.2.2, GHC == 8.8.3 cabal-version: >=1.10 description: This package presents a simple combinator language for Markov transition@@ -65,7 +66,7 @@ , kan-extensions >= 5 && < 6 , mcmc-types >= 1.0.1 && < 2 , mwc-probability >= 2.0 && < 3- , mighty-metropolis >= 1.0.4 && < 2+ , mighty-metropolis >= 2.0 && < 3 , lens >= 4 && < 5 , primitive >= 0.6 && < 1.0 , pipes >= 4 && < 5
lib/Numeric/MCMC.hs view
@@ -90,12 +90,11 @@ import Control.Monad (replicateM) import Control.Monad.Codensity (lowerCodensity)-import Control.Monad.IO.Class (MonadIO, liftIO) import Control.Monad.Primitive (PrimMonad, PrimState, RealWorld) import Control.Monad.Trans.State.Strict (execStateT) import Data.Sampling.Types import Numeric.MCMC.Anneal-import Numeric.MCMC.Metropolis (metropolis)+import qualified Numeric.MCMC.Metropolis as M (metropolis) import Numeric.MCMC.Hamiltonian (hamiltonian) import Numeric.MCMC.Slice (slice) import Pipes hiding (next)@@ -206,3 +205,9 @@ yield next loop next prng +-- | A generic Metropolis transition operator.+metropolis+ :: (Traversable f, PrimMonad m)+ => Double+ -> Transition m (Chain (f Double) b)+metropolis radial = M.metropolis radial Nothing