Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- class SymbioteOperation a where
- class SymbioteOperation a => Symbiote a s where
- newtype Topic = Topic Text
- data SymbioteProtocol a s
- = MeGenerated {
- meGenValue :: a
- meGenOperation :: Operation a
- meGenReceived :: Maybe s
- | ThemGenerating { }
- | NotStarted
- | Finished
- = MeGenerated {
- data SymbioteGeneration a s = SymbioteGeneration {
- size :: Int
- protocol :: SymbioteProtocol a s
- newGeneration :: SymbioteGeneration a s
- data SymbioteState s = (Arbitrary a, Arbitrary (Operation a), Symbiote a s, Eq a) => SymbioteState {}
- type SymbioteT s m = ReaderT Bool (StateT (Map Topic (SymbioteState s)) m)
- runSymbioteT :: Monad m => SymbioteT s m () -> Bool -> m (Map Topic (SymbioteState s))
- data GenerateSymbiote s
- = DoneGenerating
- | GeneratedSymbiote {
- generatedValue :: s
- generatedOperation :: s
- generateSymbiote :: forall s m. MonadIO m => SymbioteState s -> m (GenerateSymbiote s)
- getProgress :: MonadIO m => SymbioteState s -> m Float
Documentation
class SymbioteOperation a where Source #
A type-level relation between a type and appropriate, testable operations on that type.
class SymbioteOperation a => Symbiote a s where Source #
A serialization format for a particular type, and serialized data type.
Instances
(Serialize a, Serialize (Operation a), SymbioteOperation a) => Symbiote a ByteString Source # | |
Defined in Test.Serialization.Symbiote.Cereal.Lazy encode :: a -> ByteString Source # decode :: ByteString -> Maybe a Source # encodeOp :: Operation a -> ByteString Source # | |
(Serialize a, Serialize (Operation a), SymbioteOperation a) => Symbiote a ByteString Source # | |
Defined in Test.Serialization.Symbiote.Cereal encode :: a -> ByteString Source # decode :: ByteString -> Maybe a Source # encodeOp :: Operation a -> ByteString Source # | |
(ToJSON a, FromJSON a, ToJSON (Operation a), FromJSON (Operation a), SymbioteOperation a) => Symbiote a Value Source # | |
SymbioteOperation a => Symbiote a (EitherOp a) Source # | |
Unique name of a type, for a suite of tests
data SymbioteProtocol a s Source #
Protocol state for a particular topic
data SymbioteGeneration a s Source #
Protocol generation state
SymbioteGeneration | |
|
newGeneration :: SymbioteGeneration a s Source #
data SymbioteState s Source #
Internal existential state of a registered topic with type's facilities
data GenerateSymbiote s Source #
generateSymbiote :: forall s m. MonadIO m => SymbioteState s -> m (GenerateSymbiote s) Source #
getProgress :: MonadIO m => SymbioteState s -> m Float Source #