The functional-arrow package

[ Tags: bsd3, combinators, library ] [ Propose Tags ]

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.

Properties

Versions 0.0
Dependencies base (>=3 && <5), HList (==0.2.*) [details]
License BSD3
Author Henning Thielemann <haskell@henning-thielemann.de>
Maintainer Henning Thielemann <haskell@henning-thielemann.de>
Category Combinators
Source repository head: darcs get http://code.haskell.org/~thielema/functional-arrow/
this: darcs get http://code.haskell.org/~thielema/functional-arrow/ --tag 0.0
Uploaded Sun Sep 26 15:00:23 UTC 2010 by HenningThielemann
Distributions NixOS:0.0
Downloads 377 total (5 in the last 30 days)
Rating 0.0 (0 ratings) [clear rating]
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees