declarative

DIY Markov Chains
Log | Files | Refs | README | LICENSE

commit 18eef87251dd0a4ca2f40c76cc0c06403b063f2c
parent 1ba9131238192b74b88d6c4308b6d3e09abcf16d
Author: Jared Tobin <jared@jtobin.ca>
Date:   Tue, 13 Oct 2015 23:11:50 +1300

Update README.

Diffstat:
MREADME.md | 27+++++++++++++++++++++++----
Mtest/Rosenbrock.hs | 2+-
2 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/README.md b/README.md @@ -5,6 +5,8 @@ DIY Markov Chains. +## What Is This + This package presents a simple combinator language for Markov transition operators that are useful in MCMC. @@ -24,10 +26,11 @@ transition operators from existing ones: | concatT transition transition | sampleT transition transition -In addition to the above, this module provides a number of combinators for -building composite transition operators. It re-exports a number of -production-quality transition operators from the *mighty-metropolis*, -*speedy-slice*, and *hasty-hamiltonian* libraries. +This library also re-exports a number of production-quality transition +operators from the +[mighty-metropolis](hackage.haskell.org/package/mighty-metropolis), +[speedy-slice](hackage.haskell.org/package/speedy-slice), and +[hasty-hamiltonian](hackage.haskell.org/package/hasty-hamiltonian) libraries. Markov chains can then be run over arbitrary `Target`s using whatever transition operator is desired. @@ -51,3 +54,19 @@ transition operator is desired. main = withSystemRandom . asGenIO $ mcmc 10000 [0, 0] transition rosenbrock ![trace](https://dl.dropboxusercontent.com/spa/u0s6617yxinm2ca/b2w56upc.png) + +## Installation + +Installing is best done via +[stack](https://github.com/commercialhaskell/stack), which will pull down +everything you might need (including GHC). + +You'll want to use the [Stackage nightly +resolver](https://www.stackage.org/nightly) until the next LTS version picks +up these libraries. + +With that out of the way it's just a matter of + +``` +$ stack install declarative +``` diff --git a/test/Rosenbrock.hs b/test/Rosenbrock.hs @@ -17,5 +17,5 @@ transition = (sampleT (slice 2.0) (slice 3.0)) main :: IO () -main = withSystemRandom . asGenIO $ mcmc 10000 [0, 0] transition rosenbrock +main = withSystemRandom . asGenIO $ mcmc 10000 [0, 0] (slice 1.0) rosenbrock