packages feed

marvin-0.0.5: src/Marvin/Prelude.hs

{-|
Module      : $Header$
Description : A collection of all modules useful for using marvin.
Copyright   : (c) Justus Adam, 2016
License     : BSD3
Maintainer  : dev@justus.science
Stability   : experimental
Portability : POSIX
-}
module Marvin.Prelude
    (
    -- | Common functions and Types for scripts
      module Marvin
    -- | Mutable references in marvin scripts
    , module Marvin.Util.Mutable
    -- | Logging in Scripts
    , module Control.Monad.Logger
    -- | Random numbers and convenience functions
    , module Marvin.Util.Random
    -- | Marvins regex type and how to work with it
    , module Marvin.Util.Regex
    -- | Dealing with JSON
    , module Marvin.Util.JSON
    -- | Interpolated strings a la Scala and CoffeeScript
    , isL, isT
    -- | Arbitrary IO in scripts
    , MonadIO, liftIO
    -- | Useful functions not in the normal Prelude
    , when, unless, for, for_, fromMaybe
    ) where

import           Control.Monad                (unless, when)
import           Control.Monad.IO.Class       (MonadIO, liftIO)
import           Control.Monad.Logger
import           Data.Foldable                (for_)
import           Data.Maybe                   (fromMaybe)
import           Data.Traversable             (for)
import           Marvin
import           Marvin.Interpolate.Text      (isT)
import           Marvin.Interpolate.Text.Lazy (isL)
import           Marvin.Util.JSON
import           Marvin.Util.Mutable
import           Marvin.Util.Random
import           Marvin.Util.Regex