Tue Nov 1 09:03:26 EDT 2011

Generalized Arrows

I was intrigued by the use of the word "metaprogramming" in:

Like Haskell Arrows, generalized arrows provide a platform for
metaprogramming. Unlike multi-stage languages and Haskell Arrows,
generalized arrows allow for heterogeneous metaprogramming. Arrows
support metaprogramming only when the guest language is a superset of
Haskell, because every Haskell function can be promoted to a guest
language expression using arr.  Generalized arrows remove the
assumption that this sort of promotion is possible. This enables
heterogeneous metaprogramming.

[1] http://www.cs.berkeley.edu/~megacz/garrows/