Copyright  (c) Maciej Bendkowski 2017 

License  BSD3 
Maintainer  maciej.bendkowski@tcs.uj.edu.pl 
Stability  experimental 
Safe Haskell  Safe 
Language  Haskell2010 
Combinatorial system defining closed lambda terms in the de Bruijn notation.
 data MixedSystem a = MixedSystem {
 shallowSystem :: System a
 plainSystem :: PlainSystem a
 boltzmannSystem :: (Floating a, Integral b) => Model b > b > a > MixedSystem a
 data MixedSampler a b = MixedSampler {
 system :: MixedSystem a
 model :: Model b
 boltzmannSampler :: (Floating a, Integral b) => Model b > b > a > MixedSampler a b
 rejectionSampler :: (Floating a, Ord a, Integral b) => Model b > b > a > MixedSampler a b
System
data MixedSystem a Source #
An expression defining the branching probabilities in the Boltzmann model for unbounded closed lambda terms using a mixture of a system for closed shallow terms and a closure system for plain terms used once the closed system has been exceeded in the sampling procedure.
MixedSystem  

:: (Floating a, Integral b)  
=> Model b  Size notion. 
> b  Shallowness. 
> a  Formal z parameter. 
> MixedSystem a  The computed Boltzmann system. 
Computes the Boltzmann model for closed lambda terms evaluated in the given parameter using closed hshallow terms as a base approximation.
Boltzmann samplers
data MixedSampler a b Source #
Boltzmann sampler specification consisting of a Boltzmann system with a corresponding size notion model.
MixedSampler  

:: (Floating a, Integral b)  
=> Model b  Size notion. 
> b  Shallowness. 
> a  Formal z parameter. 
> MixedSampler a b  The computed Boltzmann sampler. 
Computes the Boltzmann sampler specification for closed lambda terms evaluated in the given parameter.
:: (Floating a, Ord a, Integral b)  
=> Model b  Size notion. 
> b  Shallowness. 
> a  Singularity approximation error. 
> MixedSampler a b  The computed rejection Boltzmann sampler. 
Computes the rejection Boltzmann sampler for closed lambda terms evaluated near the dominating singularity.