DeepArrow: Arrows for "deep application"

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

This library provides a framework for type-directed composition of value editors (non-syntactic transformations). The tools enable "deep function application" in two senses: deep application of functions and application of deep functions. These tools generalize beyond values and functions, via the DeepArrow subclass of the Arrow type class.

For more information see:

This page and the module documentation pages have links to colorized source code and to wiki pages where you can read and contribute /user comments/. Enjoy!

The primary module is Control.Arrow.DeepArrow. Examples in Control.Arrow.DeepArrow.Examples.

Note: Many of the type signatures use infix type operators (as in a~>b), a recent extension to GHC. In reading the documentation and code, be aware that infix operators bind more tightly than ->.

© 2007 by Conal Elliott (; BSD3 license.

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.0, 0.0.1, 0.2, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.7, 0.4.0
Change log CHANGES
Dependencies base (<5), haskell-src, mtl, TypeCompose (>=0.6.5) [details]
License BSD-3-Clause
Copyright (c) 2007,2009 by Conal Elliott
Author Conal Elliott <>
Category Combinators, Control
Home page
Uploaded by ConalElliott at 2009-10-02T20:13:49Z
Distributions NixOS:0.4.0
Reverse Dependencies 3 direct, 2 indirect [details]
Downloads 8286 total (33 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]

Readme for DeepArrow-0.3.2

[back to package description]
The DeepArrow library provides a framework for type-directed composition
of value editors.  For a fuller description and link to documentation,
please see the Haskell wiki page:

You can configure, build, and install all in the usual way with Cabal

  runhaskell Setup.lhs configure
  runhaskell Setup.lhs build
  runhaskell Setup.lhs install

See src/Control/Arrow/DeepArrow/Examples.hs for examples.