[Haskell-cafe] ANNOUNCE: arrow-list. List arrows for Haskell.

Sebastiaan Visser haskell at fvisser.nl
Sat Nov 6 09:00:56 EDT 2010

Hi all,

Live from the Hackaton in Ghent, Belgium, I present the first release of the arrow-list[1,2] package. List arrows are a powerful tool when processing XML, building query languages and lots of other domains that build on functions that might return more than one value as their output.

This package is inspired by the arrow combinators provided by the HXT package, but in my opinion list arrows deserve to be on Hackage on their own.


[1] http://hackage.haskell.org/package/arrow-list
[2] https://github.com/sebastiaanvisser/arrow-list

(package description)

List arrows for Haskell.

This small Haskell library provides some type class, types and functions to
work with list arrows. List arrows represent computations that may return
multiple outputs. Making functions that return lists an instance of both the
`Category` and `Arrow` type classes allow you to easily compose multiple
computations into one with standard building blocks.

This package provides:

  - A type class `ArrowList` for embedding functions that produce a list of
    outputs into _some_ list arrow.
  - A list of utility functions for working with list-arrows, these functions
    are based on the `ArrowList` type class so they are not tied one specific

  - A concrete list arrow type that is implemented as a `Kleisli` arrow over
    the `ListT` list monad transformer. In short, you can both build pure list
    arrows and list arrows that produce tributary effects.

  - Not list arrow specific: A type class `ArrowKleisli` for embedding monadic
    computations into an arrow.

More information about the Haskell-Cafe mailing list