On Thu, Feb 7, 2013 at 5:41 PM, Ross Paterson <ross@soi.city.ac.uk> wrote:
On Thu, Feb 07, 2013 at 02:49:40PM -0800, Conal Elliott wrote:
> I make some use of arrow notation, though sadly I often have to avoid
> it because my (pseudo-)"arrows" don't have arr. I'd love to see a
> variant that has restricted expressiveness in exchange for arr-freeness.

It's hard to imagine arrow notation without arr (or at least
contravariance in the first argument of the "arrow") because forming
expressions using the local environment is so central to it.  That is,
I can't imagine what things you are trying to write in that situation.

What I have in mind is a small collection of methods including fst & snd (and similarly for sums) that could be defined via arr but could instead form the basis of translating restricted arrow notation for (pseudo-)arrows that don't support arr.

I keep running into these pseudo-arrows in practical work. The reliance of arrow notation on arr means that I can't use arrow notation, and my code is terribly difficult to read.

-- Conal