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:

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). In reading the documentation and code, be aware that infix operators bind more tightly than ->.

© 2007-2012 by Conal Elliott (; BSD3 license.

Versions [RSS] [faq] 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
Dependencies base (<5), haskell-src, mtl, TypeCompose (>=0.9.5) [details]
License BSD-3-Clause
Copyright (c) 2007-2012 by Conal Elliott
Author Conal Elliott <>
Category Combinators, Control
Home page
Source repo head: git clone git://
Uploaded by ConalElliott at 2012-10-05T18:15:18Z
Distributions NixOS:0.4.0
Downloads 7733 total (54 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2016-12-23 [all 7 reports]


  • Control
    • Arrow
      • Control.Arrow.DeepArrow
        • Control.Arrow.DeepArrow.Examples
  • Data
    • Data.DDeepArrow
    • Data.FunArr
  • Language
    • Haskell
      • Language.Haskell.Parens
      • Language.Haskell.ToHs


Maintainer's Corner

For package maintainers and hackage trustees