Copyright | (c) Maciej Bendkowski 2017 |
---|---|
License | BSD3 |
Maintainer | maciej.bendkowski@tcs.uj.edu.pl |
Stability | experimental |
Safe Haskell | Safe |
Language | Haskell2010 |
Combinatorial specification defining plain lambda terms in the de Bruijn notation.
- data PlainSystem a = PlainSystem {}
- boltzmannSystem :: (Floating a, Integral b) => Model b -> a -> PlainSystem a
- data PlainSampler a b = PlainSampler {
- system :: PlainSystem a
- model :: Model b
- boltzmannSampler :: (Floating a, Integral b) => Model b -> a -> PlainSampler a b
- rejectionSampler :: (Floating a, Ord a, Integral b) => Model b -> a -> PlainSampler a b
- eval :: (Floating a, Integral b) => Model b -> a -> a
System
data PlainSystem a Source #
An expression defining the branching probabilities in the Boltzmann model for plain lambda terms.
Show a => Show (PlainSystem a) Source # | |
:: (Floating a, Integral b) | |
=> Model b | Size notion. |
-> a | Formal z parameter. |
-> PlainSystem a | The computed Boltzmann system. |
Computes the Boltzmann model for plain lambda terms evaluated in the given parameter.
Boltzmann samplers
data PlainSampler a b Source #
Boltzmann sampler specification consisting of a Boltzmann system with a corresponding size notion model.
PlainSampler | |
|
:: (Floating a, Integral b) | |
=> Model b | Size notion. |
-> a | Formal z parameter. |
-> PlainSampler a b | The computed Boltzmann sampler. |
Computes the Boltzmann sampler specification for plain lambda terms evaluated in the given parameter.
:: (Floating a, Ord a, Integral b) | |
=> Model b | Size notion. |
-> a | Singularity approximation error. |
-> PlainSampler a b | The computed rejection Boltzmann sampler. |
Computes the rejection Boltzmann sampler for plain lambda terms evaluated near the dominating singularity.