packages feed

THEff-0.1.4: THEff.cabal

name:                THEff
version:             0.1.4
synopsis:            TH implementation of effects. 
license:             BSD3
license-file:        LICENSE
author:              Kolodezny Diver
maintainer:          kolodeznydiver@gmail.com
category:            Control, Effect, TH 
build-type:          Simple
cabal-version:       >=1.10
description:    
  This package implements effects, as alternative to monad
  transformers. Actually, the effects themselves are created without 
  the use of TH, but the binding of nested effects described by 
  mkEff splice. For example.
  .
  > mkEff "MyReader"    ''Reader    ''Int       ''Lift
  > mkEff "SomeState"   ''State     ''Bool      ''MyReader
  > mkEff "OtherRdr"    ''Reader    ''Float     ''SomeState
  > 
  > main:: IO ()
  > main = do
  >     r <- runMyReader  100 
  >        $ runSomeState False
  >        $ runOtherRdr  pi  $ do
  >             i :: Int   <- ask                    -- MyReader 
  >             f :: Float <- ask                    -- OtherRdr
  >             b <- get                             -- SomeState
  >             put $ not b                          -- SomeState 
  >             lift $ putStrLn "print from effect!" -- Lift  
  >             return $ show $ fromIntegral i * f 
  >     print r
  .
  For more information about extensible effects , see the original paper at
  <http://okmij.org/ftp/Haskell/extensible/exteff.pdf>.
  But, this package is significantly different from the original.
  It uses a chains of ordinary GADTs created by TH. 
  No Typeable, no unsafe... , no ExistentialQuantification ...

extra-source-files:    
    README.md
    changelog
    samples/*.hs
  
Source-repository head
    type:               git
    location:           https://github.com/KolodeznyDiver/THEff.git
    
library
  ghc-options:         -Wall  -fwarn-tabs 
  exposed-modules:     Control.THEff
                       Control.THEff.Reader
                       Control.THEff.State
                       Control.THEff.Exception
                       Control.THEff.Catch
                       Control.THEff.Writer
                       Control.THEff.Fresh
                       Control.THEff.Validator
                       Control.THEff.Writer.Strict
                       Control.THEff.Reader.Strict
                       Control.THEff.State.Strict 
  
  -- Modules included in this library but not exported.
  other-modules:       Control.THEff.TH.Internal
  
  -- LANGUAGE extensions used by modules in this package.
  other-extensions:    KindSignatures
                       , FlexibleInstances
                       , FlexibleContexts
                       , MultiParamTypeClasses
                       , TemplateHaskell
                       , ViewPatterns
                       , RecordWildCards
                       , ScopedTypeVariables
                       , RankNTypes
                       , GADTs
                       , BangPatterns
  
  -- Other library packages from which modules are imported.
  build-depends:       base >= 4.7 && < 5
                      ,template-haskell >=2.11
  
  -- Directories containing source files.
  hs-source-dirs:      src
  
  -- Base language which the package is written in.
  default-language:    Haskell2010