vimeta-0.2.3.0: Frontend for video metadata tagging tools

Safe HaskellNone
LanguageHaskell2010

Vimeta.Core.Vimeta

Synopsis

Documentation

newtype Vimeta m a Source #

Constructors

Vimeta 

Fields

Instances

Monad m => MonadReader Context (Vimeta m) Source # 

Methods

ask :: Vimeta m Context #

local :: (Context -> Context) -> Vimeta m a -> Vimeta m a #

reader :: (Context -> a) -> Vimeta m a #

Monad m => Monad (Vimeta m) Source # 

Methods

(>>=) :: Vimeta m a -> (a -> Vimeta m b) -> Vimeta m b #

(>>) :: Vimeta m a -> Vimeta m b -> Vimeta m b #

return :: a -> Vimeta m a #

fail :: String -> Vimeta m a #

Monad m => Functor (Vimeta m) Source # 

Methods

fmap :: (a -> b) -> Vimeta m a -> Vimeta m b #

(<$) :: a -> Vimeta m b -> Vimeta m a #

Monad m => Applicative (Vimeta m) Source # 

Methods

pure :: a -> Vimeta m a #

(<*>) :: Vimeta m (a -> b) -> Vimeta m a -> Vimeta m b #

(*>) :: Vimeta m a -> Vimeta m b -> Vimeta m b #

(<*) :: Vimeta m a -> Vimeta m b -> Vimeta m a #

MonadIO m => MonadIO (Vimeta m) Source # 

Methods

liftIO :: IO a -> Vimeta m a #

data Context Source #

Instances

Monad m => MonadReader Context (Vimeta m) Source # 

Methods

ask :: Vimeta m Context #

local :: (Context -> Context) -> Vimeta m a -> Vimeta m a #

reader :: (Context -> a) -> Vimeta m a #

class Monad m => MonadIO m where #

Monads in which IO computations may be embedded. Any monad built by applying a sequence of monad transformers to the IO monad will be an instance of this class.

Instances should satisfy the following laws, which state that liftIO is a transformer of monads:

Minimal complete definition

liftIO

Methods

liftIO :: IO a -> m a #

Lift a computation from the IO monad.

Instances

MonadIO IO 

Methods

liftIO :: IO a -> IO a #

MonadIO TheMovieDB 

Methods

liftIO :: IO a -> TheMovieDB a #

MonadIO m => MonadIO (Byline m) 

Methods

liftIO :: IO a -> Byline m a #

MonadIO m => MonadIO (MaybeT m) 

Methods

liftIO :: IO a -> MaybeT m a #

MonadIO m => MonadIO (ListT m) 

Methods

liftIO :: IO a -> ListT m a #

MonadIO m => MonadIO (ResourceT m) 

Methods

liftIO :: IO a -> ResourceT m a #

MonadIO m => MonadIO (PErrorT m) 

Methods

liftIO :: IO a -> PErrorT m a #

MonadIO m => MonadIO (Vimeta m) # 

Methods

liftIO :: IO a -> Vimeta m a #

MonadIO m => MonadIO (RandT g m) 

Methods

liftIO :: IO a -> RandT g m a #

MonadIO m => MonadIO (IdentityT * m) 

Methods

liftIO :: IO a -> IdentityT * m a #

(Monoid w, MonadIO m) => MonadIO (WriterT w m) 

Methods

liftIO :: IO a -> WriterT w m a #

(Monoid w, MonadIO m) => MonadIO (WriterT w m) 

Methods

liftIO :: IO a -> WriterT w m a #

MonadIO m => MonadIO (StateT s m) 

Methods

liftIO :: IO a -> StateT s m a #

MonadIO m => MonadIO (StateT s m) 

Methods

liftIO :: IO a -> StateT s m a #

(Error e, MonadIO m) => MonadIO (ErrorT e m) 

Methods

liftIO :: IO a -> ErrorT e m a #

MonadIO m => MonadIO (EitherT e m) 

Methods

liftIO :: IO a -> EitherT e m a #

MonadIO m => MonadIO (ExceptT e m) 

Methods

liftIO :: IO a -> ExceptT e m a #

MonadIO m => MonadIO (ReaderT * r m) 

Methods

liftIO :: IO a -> ReaderT * r m a #

MonadIO m => MonadIO (ParsecT s u m) 

Methods

liftIO :: IO a -> ParsecT s u m a #

(Monoid w, MonadIO m) => MonadIO (RWST r w s m) 

Methods

liftIO :: IO a -> RWST r w s m a #

(Monoid w, MonadIO m) => MonadIO (RWST r w s m) 

Methods

liftIO :: IO a -> RWST r w s m a #

die :: Monad m => String -> Vimeta m a Source #

Terminate a Vimeta session with an error message.

runIO :: MonadIO m => IO a -> Vimeta m a Source #

tmdb :: MonadIO m => TheMovieDB a -> Vimeta m a Source #

Run a TheMovieDB operation.

verbose :: MonadIO m => Text -> Vimeta m () Source #

execVimetaWithContext :: Context -> Vimeta m a -> m (Either String a) Source #

Very primitive way of running a Vimeta value with the given Context. Mostly useful for running vimeta action within another vimeta action.

execVimeta Source #

Arguments

:: MonadIO m 
=> (Config -> Config)

Modify configuration before running.

-> Vimeta m a

The Vimeta value to execute.

-> m (Either String a)

The result.

Run a Vimeta operation after loading the configuration file from disk.

runVimeta :: MonadIO m => Vimeta m a -> m (Either String a) Source #

Simple wrapper around execVimeta.

ask :: MonadReader r m => m r #

Retrieves the monad environment.

asks #

Arguments

:: MonadReader r m 
=> (r -> a)

The selector function to apply to the environment.

-> m a 

Retrieves a function of the current environment.

liftIO :: MonadIO m => forall a. IO a -> m a #

Lift a computation from the IO monad.