Safe Haskell | None |
---|---|

Language | Haskell98 |

- data CabalInfo
- type CabalT m = StateT CabalInfo m
- runCabalT :: Monad m => CabalT m a -> CabalInfo -> m (a, CabalInfo)
- evalCabalT :: Monad m => CabalT m a -> CabalInfo -> m a
- execCabalT :: Monad m => CabalT m a -> CabalInfo -> m CabalInfo
- type CabalM = State CabalInfo
- runCabalM :: CabalM a -> CabalInfo -> (a, CabalInfo)
- evalCabalM :: CabalM a -> CabalInfo -> a
- execCabalM :: CabalM a -> CabalInfo -> CabalInfo
- type DebianT m = StateT DebInfo m
- evalDebianT :: Monad m => DebianT m a -> DebInfo -> m a
- evalDebian :: DebianT Identity a -> DebInfo -> a
- execDebianT :: Monad m => DebianT m () -> DebInfo -> m DebInfo
- liftCabal :: Monad m => StateT DebInfo m a -> StateT CabalInfo m a
- ifM :: Monad m => m Bool -> m a -> m a -> m a
- whenM :: Monad m => m Bool -> m () -> m ()
- unlessM :: Monad m => m Bool -> m () -> m ()

# Documentation

Bits and pieces of information about the mapping from cabal package
names and versions to debian package names and versions. In essence,
an `Atoms`

value represents a package's debianization. The lenses in
this module are used to get and set the values hidden in this Atoms
value. Many of the values should be left alone to be set when the
debianization is finalized.

evalCabalT :: Monad m => CabalT m a -> CabalInfo -> m a Source

evalCabalM :: CabalM a -> CabalInfo -> a Source

execCabalM :: CabalM a -> CabalInfo -> CabalInfo Source

# modify cabal to debian package version map

evalDebianT :: Monad m => DebianT m a -> DebInfo -> m a Source

evalDebian :: DebianT Identity a -> DebInfo -> a Source