packages feed

functional-arrow-0.0: functional-arrow.cabal

Name:             functional-arrow
Version:          0.0
License:          BSD3
License-File:     LICENSE
Author:           Henning Thielemann <haskell@henning-thielemann.de>
Maintainer:       Henning Thielemann <haskell@henning-thielemann.de>
-- Homepage:         http://www.haskell.org/haskellwiki/FunctionalArrow
Category:         Combinators
Build-Type:       Simple
Synopsis:         Combinators that allow for a more functional/monadic style of Arrow programming
Description:
   If you program with Arrows you have two choices:
   Use the plain Arrow combinators, that are cumbersome to use,
   or use special Arrow syntax, that is built into all Haskell compilers
   and is still not very functional programming style.
   The arrow syntax still forces you to introduce temporary names,
   that you would not need in a functional notation.
   .
   Where you would write things like
   .
   > mix <<< (id &&& delay) <<< lowpass
   .
   using plain Arrow combinators, you can now write
   .
   > lowpass >>>= \x ->
   >    mix <<< (listen x &&& (delay <<< listen x))
   .
   where the @(>>>=)@ resembles the monadic bind
   and allows you for shared access to an arrow result.
   Thus it can be used like a @let@.
Tested-With:      GHC==6.10.4
Cabal-Version:    >=1.6
Build-Type:       Simple
Source-Repository head
  type:     darcs
  location: http://code.haskell.org/~thielema/functional-arrow/

Source-Repository this
  type:     darcs
  location: http://code.haskell.org/~thielema/functional-arrow/
  tag:      0.0

Library
  Build-Depends:
    HList >=0.2 && <0.3,
    base >=3 && <5

  GHC-Options:      -Wall
  Hs-Source-Dirs:   src
  Exposed-Modules:
    Control.Arrow.Let
    Control.Arrow.Monad
  Other-Modules:
    Control.Arrow.MonadExample
--    Control.Arrow.Functional