functional-arrow: Combinators that allow for a more functional/monadic style of Arrow programming
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
.
Downloads
- functional-arrow-0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.0 |
---|---|
Dependencies | base (>=3 && <5), HList (>=0.2 && <0.3) [details] |
Tested with | ghc ==6.10.4 |
License | BSD-3-Clause |
Author | Henning Thielemann <haskell@henning-thielemann.de> |
Maintainer | Henning Thielemann <haskell@henning-thielemann.de> |
Category | Combinators |
Source repo | head: darcs get http://code.haskell.org/~thielema/functional-arrow/ this: darcs get http://code.haskell.org/~thielema/functional-arrow/ --tag 0.0 |
Uploaded | by HenningThielemann at 2010-09-26T15:00:23Z |
Distributions | |
Reverse Dependencies | 2 direct, 0 indirect [details] |
Downloads | 1341 total (3 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |