{-# LANGUAGE ExistentialQuantification, RankNTypes #-} module Network.TLS.RNG ( StateRNG(..) , withTLSRNG ) where import Crypto.Random data
StateRNG
= forall g . CPRG g =>
StateRNG
g
instance
Show
StateRNG
where
show
_ =
"rng[..]"
withTLSRNG
::
StateRNG
-> (forall
g
.
CPRG g =>
g
-> (
a
,
g
)) -> (
a
,
StateRNG
)
withTLSRNG
(
StateRNG
rng
)
f
= let (
a
,
rng'
) =
f
rng
in (
a
,
StateRNG
rng'
)