
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. Cheers, Sebastiaan [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 instance. - 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.