Safe Haskell | None |
---|
- replusify :: MonadPlus m => [a] -> m a
- tomaybet :: Monad m => LogicT m a -> MaybeT m a
- class Treeish l where
- children :: MonadPlus m => l -> m l
- descendants :: MonadPlus m => l -> m l
- type Produ t = Producer t
- type Consu t = Consumer t
- class Functor l => Loggy l where
- data LogEntry
- = TextEntry Text
- | ImageEntry Image
- type Image = ByteString
- data Nullipotent m a
- type Tag = Text
- data Sealed m
- addTag :: Tag -> Sealed m -> Sealed m
Documentation
replusify :: MonadPlus m => [a] -> m aSource
Convenience function to transform a list into any MonadPlus
.
tomaybet :: Monad m => LogicT m a -> MaybeT m aSource
Transforms a zero-or-many result into a zero-or-one result.
Class of types whose values have children of the same type as themselves.
type Image = ByteStringSource
data Nullipotent m a Source
Wraps a monad in order to tag those operations which don't actually change the state of the remote system. For example: taking a screenshot doesn't change the state of a GUI, as opposed to clicking a button.
Monad m => Monad (Nullipotent m) | |
Functor m => Functor (Nullipotent m) | |
Foldable m => Foldable (Nullipotent m) | |
Traversable m => Traversable (Nullipotent m) | |
Eq (m a) => Eq (Nullipotent m a) | |
Ord (m a) => Ord (Nullipotent m a) | |
Read (m a) => Read (Nullipotent m a) | |
Show (m a) => Show (Nullipotent m a) |
Encapsulates a monadic action so that clients can't manipulate it in any way, only dispatch it to some function.
There may be tags attached that describe the action. Clients should be able to inspect the tags.