Arrow

From HaskellWiki
Revision as of 17:21, 11 June 2006 by EndreyMark (talk | contribs) (Better structure and more links)
Jump to navigation Jump to search
Arrow class (base)
import Control.Arrow

Introduction

Arrows: A General Interface to Computation written by Ross Peterson.

HaWiki's UnderstandingArrows.

Monad.Reader's ArrowsIntroduction article.

See also Research papers/Monads and arrows.

Examples

Parser

The reasons why the arrow concept can solve important questions when designing a parser library are explained in Generalising Monads to Arrows written by John Hughes.

A good example of the mentioned arrow parsers can be seen in A New Notation for Arrows written by Ross Peterson: figure 2, 4, 6 (page 3, 5, 6).

An implementation: PArrows written by Einar Karttunen.

Stream processor

The Lazy K programming language is an interesing esoteric language (from the family purely functional languages), whose I/O concept is approached by streams.

Functional I/O, graphical user interfaces

On the Expressiveness of Purely Functional I/O Systems written by Paul Hudak and Raman S. Sundaresh.

Fudgets written by Thomas Hallgren and Magnus Carlsson.

Dataflow languages

Arrows and Computation written by Ross Paterson mentions how to mimick dataflow programming in (lazy) functional languages. See more on Lucid's own HaskellWiki page: Lucid.