measurable

A simple shallowly-embedded DSL for dealing with measures.
Log | Files | Refs | README | LICENSE

commit 66b12a36f8dde6457ef3ee487d465dac11aed6cd
parent 035fbe483c48f5f2077cf78f1f8afb8ae6c620ce
Author: Jared Tobin <jared@jtobin.ca>
Date:   Thu,  2 Apr 2015 17:27:46 +1000

Update description.

Diffstat:
Mmeasurable.cabal | 27++++++++++++++++++++++-----
1 file changed, 22 insertions(+), 5 deletions(-)

diff --git a/measurable.cabal b/measurable.cabal @@ -2,7 +2,7 @@ name: measurable version: 1.0.0.0 license: BSD3 license-file: LICENSE -copyright: (c) Jared Tobin 2013 - 2014. +copyright: (c) Jared Tobin 2013 - 2015. author: Jared Tobin maintainer: jared@jtobin.ca stability: Experimental @@ -10,11 +10,28 @@ category: Math homepage: http://github.com/jtobin/measurable bug-reports: http://github.com/jtobin/measurable/issues build-type: Simple -cabal-version: >=1.10 -synopsis: Basic measure wrangling. +cabal-version: >=1.18 +synopsis: A shallowly-embedded DSL for basic measure wrangling. description: - Various types, instances, and combinators that make it easy to play with - measures. + @measurable@ is a simple shallowly-embedded DSL for dealing with measures. + + It adds a @Measure@ type as a synonym for a standard continuation type with + a restricted output type and no @callCC@ implementation. + + You can construct measures from samples, density functions, or even sampling + functions using a monad transformer @MeasureT@ type. + + Construct image measures by @fmap@-ing measurable functions over them, or + create new measures from existing ones by seamless measure arithmetic provided + by a simple @Num@ instance. Create measures from graphs of other measures + using the @Monad@ instance and do-notation. + + Query measures by integrating meaurable functions against them. Extract + moments, cumulative density functions, or probabilities. + + Caveat: while fun to play with, and rewarding to see how measures fit + together, measure operations as nested integrals are exponentially complex. + Don't expect them to scale very far! source-repository head type: git