packages feed

Monatron-IO (empty) → 1.0

raw patch · 5 files changed

+139/−0 lines, 5 filesdep +Monatrondep +basedep +transformerssetup-changed

Dependencies added: Monatron, base, transformers

Files

+ Control/Monatron/IO.hs view
@@ -0,0 +1,26 @@+-- | Instances of the 'MonadIO' class for 'StateT', 'WriterT', 'ReaderT', 'ExcT',+--   'ContT', and 'ListT'.+--+--   Re-exports "Control.Monad.IO.Class" for convenience.+module Control.Monatron.IO (module Control.Monad.IO.Class) where++import Control.Monatron.Monatron (MonadT(..), Monoid, StateT, WriterT, ReaderT, ExcT, ContT, ListT)+import Control.Monad.IO.Class++instance MonadIO m => MonadIO (StateT z m) where+  liftIO = lift . liftIO++instance (MonadIO m, Monoid z) => MonadIO (WriterT z m) where+  liftIO = lift . liftIO++instance MonadIO m => MonadIO (ReaderT z m) where+  liftIO = lift . liftIO++instance MonadIO m => MonadIO (ExcT z m) where+  liftIO = lift . liftIO++instance MonadIO m => MonadIO (ContT r m) where+  liftIO = lift . liftIO++instance MonadIO m => MonadIO (ListT m) where+  liftIO = lift . liftIO
+ Control/Monatron/Zipper/IO.hs view
@@ -0,0 +1,17 @@+{-# LANGUAGE TypeOperators, FlexibleContexts #-}++-- | An instance of the 'MonadIO' class for a zipper:+--+--   @+--     instance ('MonadIO' (t2 m), 'MonadT' t1, 'MonadT' t2, 'Monad' m) => 'MonadIO' ((t1 ':>' t2) m)+--   @+--+--   Re-exports "Control.Monad.IO.Class" for convenience.+module Control.Monatron.Zipper.IO (module Control.Monad.IO.Class) where++import Control.Monatron.Monatron (MonadT(..), Monad)+import Control.Monatron.Zipper ((:>), zipper)+import Control.Monad.IO.Class++instance (MonadIO (t2 m), MonadT t1, MonadT t2, Monad m) => MonadIO ((t1 :> t2) m) where+  liftIO = zipper . lift . liftIO
+ LICENSE view
@@ -0,0 +1,30 @@+Copyright (c)2012, Tobias Brandt++All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are met:++    * Redistributions of source code must retain the above copyright+      notice, this list of conditions and the following disclaimer.++    * Redistributions in binary form must reproduce the above+      copyright notice, this list of conditions and the following+      disclaimer in the documentation and/or other materials provided+      with the distribution.++    * Neither the name of Tobias Brandt nor the names of other+      contributors may be used to endorse or promote products derived+      from this software without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ Monatron-IO.cabal view
@@ -0,0 +1,64 @@+-- Monatron-IO.cabal auto-generated by cabal init. For additional+-- options, see+-- http://www.haskell.org/cabal/release/cabal-latest/doc/users-guide/authors.html#pkg-descr.+-- The name of the package.+Name:                Monatron-IO++-- The package version. See the Haskell package versioning policy+-- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for+-- standards guiding when and how versions should be incremented.+Version:             1.0++-- A short (one-line) description of the package.+Synopsis:            MonadIO instances for the Monatron transformers.++-- A longer description of the package.+Description:         This package defines instances of the +  'Control.Monad.IO.Class.MonadIO' class (see "Control.Monad.IO.Class") +  for all the monad transformers in "Control.Monatron.Transformer"+  (except 'Control.Monadtron.Transformer.StepT') and for the +  zipper type (':>') in "Control.Monad.Zipper".++-- The license under which the package is released.+License:             BSD3++-- The file containing the license text.+License-file:        LICENSE++-- The package author(s).+Author:              Tobias Brandt++-- An email address to which users can send suggestions, bug reports,+-- and patches.+Maintainer:          tob.brandt@gmail.com++Homepage: https://github.com/kreuzschlitzschraubenzieher/Monatron-IO++-- A copyright notice.+-- Copyright:           ++Category:            Control++Build-type:          Simple++-- Extra files to be distributed with the package, such as examples or+-- a README.+-- Extra-source-files:  ++-- Constraint on the version of Cabal needed to build this package.+Cabal-version:       >=1.6+++Library+  -- Modules exported by the library.+  Exposed-modules: Control.Monatron.IO, Control.Monatron.Zipper.IO+  +  -- Packages needed in order to build this package.+  Build-depends: base>=2 && <5, Monatron==0.3.*, transformers==0.3.*+  +  -- Modules not exported by this package.+  -- Other-modules:       +  +  -- Extra tools (e.g. alex, hsc2hs, ...) needed to build the source.+  -- Build-tools:         +  
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain