This seems basically what I'm talking about, except even more hardcore.  I think mostly what I'm suggesting is that the GHC arrow preprocessor to compile to something like generalized arrows, by default, with current Arrows as a special case.

  -- ryan

On Mon, Oct 31, 2011 at 5:48 PM, Felipe Almeida Lessa <felipe.lessa@gmail.com> wrote:
On Mon, Oct 31, 2011 at 10:33 PM, Ryan Ingram <ryani.spam@gmail.com> wrote:
> The arrow syntax translation uses arr to do plumbing of variables.  I think
> a promising project would be to figure out exactly what plumbing is needed,
> and add those functions to a sort of 'PrimitiveArrow' class.  All of these
> plumbing functions are trivially implemented in terms of 'arr', when it
> exists, but if it doesn't, it should be possible to use the arrow syntax
> regardless.

There are already generalized arrows [1].  Is that what you are looking for?

Cheers,

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

--
Felipe.