[Haskell-cafe] ANN: random-fu 0.1.0.0

Alexander Solla ajs at 2piix.com
Fri Jun 4 01:19:00 EDT 2010


On Jun 3, 2010, at 6:40 PM, mokus at deepbondi.net wrote:

> If anyone knows a way this could be done while still allowing general
> functions to be mapped over RVars, I'd love to hear about it.  My
> suspicion though is that it is not possible.  It would be a very  
> similar
> problem to computing the inverse of a function since the PDF is a  
> measure
> of the size of the preimage of an event in the probability space (if  
> I'm
> putting all those words together correctly ;)).


We don't necessarily have to compute the inverse of the distribution  
via sampling to do it.  It can be done algebraically, in terms of the  
convolution operator.  Since the types are enumerated, wouldn't  
something like... work?

-- A set and binary operation.  We have an algebra.  I like the J for  
'join'.
-- With this algebra, we can use the real-complex analytical methods to
-- interpret the terms later, if we want to actually reify a  
Distribution
-- instance as a "Real" (Float, Double) function.

 > data DistributionJ a = UniformDistribution Uniform a
 >		       | ...
 >	               | ExponentialDistribution Exponential a
 >		       | DistributionJ a `Convolve` (DistributionJ a)


-- I hope I understand the semantics for the PromptT monad.
 > newtype RVarT m a = RVarT { unRVarT :: PromptT (Prim,  
DistributionJ) m a }

I guess threading fst and snd in all the low level computations is  
inelegant, but it's a step closer.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20100604/c1f40cd7/attachment.html


More information about the Haskell-Cafe mailing list