Copyright | (c) Joseph Abrahamson 2013 |
---|---|
License | MIT |
Maintainer | me@jspha.com |
Stability | experimental |
Portability | non-portable |
Safe Haskell | Safe |
Language | Haskell2010 |
Saltine type classes
Synopsis
- class IsEncoding a where
- class IsNonce n where
Documentation
class IsEncoding a where Source #
Class for all keys and nonces in Saltine which have a
representation as ByteString. encoded
is a Prism
of
type Prism' ByteString a
compatible with Control.Lens and
is automatically deduced.
encode :: a -> ByteString Source #
decode :: ByteString -> Maybe a Source #
encoded :: (Choice p, Applicative f) => p a (f a) -> p ByteString (f ByteString) Source #
Instances
class IsNonce n where Source #
A generic class for interacting with nonces.
Some privileged nonce value.
Some perturbation on nonces such that n /= nudge n
with high
probability. Since nonces are finite, repeats may happen in
particularly small cases, but no nonces in Saltine are so
small. This is not guaranteed to be difficult to predict---if a
nonce had an Enum
instance succ
would be a good
implementation excepting that succ
is partial.