I'm planning to write up a blog post about using list arrows for XML processing.

Ok, I'll say tuned! Maybe a smaller example for the Haddock docs needs less time.

Maybe this sounds weird on the Haskell mailing list, but at Silk[1] we have a full implementation of (functional reactive) list arrows in JavaScript. The arrows build up an AST of operations that we statically optimize to a more efficient form. This is needed because JavaScript itself is not going to fuse intermediate list for you.

I'm reinventing all of this in Haskell now to gain more insight in what we've actually done in JavaScript. :-)

Sounds more interesting than weird to me. In case you blog about that too, I'll probably read it. I'm interested to get an intuition what you can do with arrows and what not. An intuition that goes beyond the quite abstract "you can't choose different computation paths based on the result of a computation". Can you, for example, define a `perm` arrow that yields every permutation of it's input? Monadic implementations look like they need `>>=` but there may be another way.. Maybe you now have an example for the docs ;o)

I'm also planning to investigate whether it is possible (useful) to perform the list computations (the map in concatMap) in parallel. I'm not sure if someone has already tried this for list monads.

I tried something similar a while ago (for monads):

<http://www-ps.informatik.uni-kiel.de/~sebf/haskell/speedup-search-with-parallelism.lhs.html >


Sebastian

P.S.

In

[1] https://blog.silkapp.com/2009/12/reinventing-xslt-in-pure-javascript/

there are two occurrences of the `sum` function which should probably be `alt` instead.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to