Popularity
5.1
Declining
Activity
0.0
Stable
9
4
1

Monthly Downloads: 17
Programming language: Haskell
License: MIT License
Tags: Data     Random     Generic    
Latest version: v0.1.1.0

boltzmann-samplers alternatives and similar packages

Based on the "Data" category.
Alternatively, view boltzmann-samplers alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of boltzmann-samplers or a related project?

Add another 'Data' Package

README

Boltzmann samplers Hackage Build Status

Boltzmann.Data

Define sized random generators for Data.Data generic types.

    {-# LANGUAGE DeriveDataTypeable #-}

    import Data.Data
    import Test.QuickCheck
    import Boltzmann.Data

    data Term = Lambda Int Term | App Term Term | Var Int
      deriving (Show, Data)

    instance Arbitrary Term where
      arbitrary = sized $ generatorPWith [positiveInts]

    positiveInts :: Alias Gen
    positiveInts =
      alias $ \() -> fmap getPositive arbitrary :: Gen Int

    main = sample (arbitrary :: Gen Term)
  • Objects of the same size (number of constructors) occur with the same probability (see Duchon et al., references below).
  • Implements rejection sampling and pointing.
  • Works with QuickCheck and MonadRandom, but also similar user-defined monads for randomness (just implement MonadRandomLike).
  • Can be tweaked somewhat with user defined generators.

Boltzmann.Species

An experimental interface to obtain Boltzmann samplers from an applicative specification of a combinatorial system.

No documentation (yet).

References

See also