DeepArrow-0.3.3: Arrows for "deep application"
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 project wiki page http://haskell.org/haskellwiki/DeepArrow
- Application of deep arrows for composable interfaces in the TV library: http://haskell.org/haskellwiki/TV
- The motivating idea and paper Tangible Functional Programming: http://conal.net/papers/Eros
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 (http://conal.net); BSD3 license.
Modules
- Control
- Data
- Language