uvmhs-0.0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

UVMHS.Lib.Rand

Documentation

class MonadRand m where Source #

Methods

rng :: State RG a -> m a Source #

Instances

Instances details
MonadRand IO Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

rng :: State RG a -> IO a Source #

MonadRand FuzzyM Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

rng :: State RG a -> FuzzyM a Source #

newtype RG Source #

Constructors

RG 

Fields

Instances

Instances details
MonadState RG FuzzyM Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

get :: FuzzyM RG Source #

put :: RG -> FuzzyM () Source #

wrapPrimRandr :: ((a, a) -> StdGen -> (a, StdGen)) -> a -> a -> State RG a Source #

class RandUniform a where Source #

Methods

prandu :: State RG a Source #

Instances

Instances details
RandUniform ℕ16 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandUniform ℕ32 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandUniform ℕ64 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandUniform ℕ8 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandUniform ℤ16 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandUniform ℤ32 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandUniform ℤ64 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandUniform ℤ8 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandUniform 𝔹 Source # 
Instance details

Defined in UVMHS.Lib.Rand

class RandRange a where Source #

Methods

prandr :: a -> a -> State RG a Source #

Instances

Instances details
RandRange ℕ16 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandRange ℕ32 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandRange ℕ64 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandRange ℕ8 Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

prandr :: ℕ8 -> ℕ8 -> State RG ℕ8 Source #

RandRange ℤ16 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandRange ℤ32 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandRange ℤ64 Source # 
Instance details

Defined in UVMHS.Lib.Rand

RandRange ℤ8 Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

prandr :: ℤ8 -> ℤ8 -> State RG ℤ8 Source #

RandRange 𝔻 Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

prandr :: 𝔻 -> 𝔻 -> State RG 𝔻 Source #

prandrRadius :: (RandRange a, Zero a, Minus a) => a -> State RG a Source #

class Fuzzy a where Source #

Methods

fuzzy :: FuzzyM a Source #

Instances

Instances details
Fuzzy ℕ16 Source # 
Instance details

Defined in UVMHS.Lib.Rand

Fuzzy ℕ32 Source # 
Instance details

Defined in UVMHS.Lib.Rand

Fuzzy ℕ64 Source # 
Instance details

Defined in UVMHS.Lib.Rand

Fuzzy ℕ8 Source # 
Instance details

Defined in UVMHS.Lib.Rand

Fuzzy ℤ16 Source # 
Instance details

Defined in UVMHS.Lib.Rand

Fuzzy ℤ32 Source # 
Instance details

Defined in UVMHS.Lib.Rand

Fuzzy ℤ64 Source # 
Instance details

Defined in UVMHS.Lib.Rand

Fuzzy ℤ8 Source # 
Instance details

Defined in UVMHS.Lib.Rand

Fuzzy 𝔹 Source # 
Instance details

Defined in UVMHS.Lib.Rand

Fuzzy 𝔻 Source # 
Instance details

Defined in UVMHS.Lib.Rand

Fuzzy ULCExpRaw Source # 
Instance details

Defined in UVMHS.Lang.ULC

Fuzzy 𝕏 Source # 
Instance details

Defined in UVMHS.Lib.Variables

Fuzzy 𝕐 Source # 
Instance details

Defined in UVMHS.Lib.Variables

Fuzzy () Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

fuzzy :: FuzzyM () Source #

Fuzzy a => Fuzzy (𝐿 a) Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

fuzzy :: FuzzyM (𝐿 a) Source #

Fuzzy a => Fuzzy (𝑂 a) Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

fuzzy :: FuzzyM (𝑂 a) Source #

(Ord k, Fuzzy k, Fuzzy v) => Fuzzy (k v) Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

fuzzy :: FuzzyM (k v) Source #

(Fuzzy a, Fuzzy b) => Fuzzy (a b) Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

fuzzy :: FuzzyM (a b) Source #

(Fuzzy a, Fuzzy b) => Fuzzy (a b) Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

fuzzy :: FuzzyM (a b) Source #

(Ord s, Fuzzy s, Fuzzy e) => Fuzzy (DSubst s e) Source # 
Instance details

Defined in UVMHS.Lib.Substitution

Methods

fuzzy :: FuzzyM (DSubst s e) Source #

(Ord s, Fuzzy s, Fuzzy e) => Fuzzy (SSubstElem s e) Source # 
Instance details

Defined in UVMHS.Lib.Substitution

Methods

fuzzy :: FuzzyM (SSubstElem s e) Source #

(Ord s, Fuzzy s, Fuzzy e) => Fuzzy (Subst s e) Source # 
Instance details

Defined in UVMHS.Lib.Substitution

Methods

fuzzy :: FuzzyM (Subst s e) Source #

(Ord s, Fuzzy s, Fuzzy e) => Fuzzy (SubstElem s e) Source # 
Instance details

Defined in UVMHS.Lib.Substitution

Methods

fuzzy :: FuzzyM (SubstElem s e) Source #

Fuzzy a => Fuzzy (() -> a) Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

fuzzy :: FuzzyM (() -> a) Source #

(Ord s₁, Ord s₂, Fuzzy s₁, Fuzzy s₂, Fuzzy e) => Fuzzy (GSubst s₁ s₂ e) Source # 
Instance details

Defined in UVMHS.Lib.Substitution

Methods

fuzzy :: FuzzyM (GSubst s₁ s₂ e) Source #

data FuzzyEnv Source #

Constructors

FuzzyEnv 

Instances

Instances details
MonadReader FuzzyEnv FuzzyM Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

askL :: (FuzzyEnv r') -> FuzzyM r' Source #

localL :: forall a r'. (FuzzyEnv r') -> r' -> FuzzyM a -> FuzzyM a Source #

newtype FuzzyM a Source #

Constructors

FuzzyM 

Fields

Instances

Instances details
Bind FuzzyM Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

(≫=) :: FuzzyM a -> (a -> FuzzyM b) -> FuzzyM b Source #

Functor FuzzyM Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

map :: (a -> b) -> FuzzyM a -> FuzzyM b Source #

Monad FuzzyM Source # 
Instance details

Defined in UVMHS.Lib.Rand

Return FuzzyM Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

return :: a -> FuzzyM a Source #

MonadRand FuzzyM Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

rng :: State RG a -> FuzzyM a Source #

MonadReader FuzzyEnv FuzzyM Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

askL :: (FuzzyEnv r') -> FuzzyM r' Source #

localL :: forall a r'. (FuzzyEnv r') -> r' -> FuzzyM a -> FuzzyM a Source #

MonadState RG FuzzyM Source # 
Instance details

Defined in UVMHS.Lib.Rand

Methods

get :: FuzzyM RG Source #

put :: RG -> FuzzyM () Source #

mkFuzzyM :: (FuzzyEnv -> RG -> RG a) -> FuzzyM a Source #

randu :: forall a m. (MonadRand m, RandUniform a) => m a Source #

randr :: forall a m. (MonadRand m, RandRange a) => a -> a -> m a Source #

randrRadius :: forall a m. (MonadRand m, RandRange a, Zero a, Minus a) => a -> m a Source #

rand :: forall a m. (MonadRand m, Fuzzy a) => ℕ64 -> ℕ64 -> m a Source #

wrchoose :: forall t m a. (Monad m, MonadRand m, ToIter (ℕ64 (() -> m a)) t) => t -> m a Source #

rchoose :: (Monad m, MonadRand m, ToIter (() -> m a) t) => t -> m a Source #

randTny :: forall a m. (MonadRand m, Fuzzy a) => m a Source #

randSml :: forall a m. (MonadRand m, Fuzzy a) => m a Source #

randMed :: forall a m. (MonadRand m, Fuzzy a) => m a Source #

randLrg :: forall a m. (MonadRand m, Fuzzy a) => m a Source #

untilPass :: Monad m => (a -> 𝔹) -> m a -> m a Source #