<div dir="ltr"><br><div class="gmail_extra">On Thu, Feb 7, 2013 at 5:41 PM, Ross Paterson <span dir="ltr">&lt;<a href="mailto:ross@soi.city.ac.uk" target="_blank">ross@soi.city.ac.uk</a>&gt;</span> wrote:<br><div class="gmail_quote">

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="im">On Thu, Feb 07, 2013 at 02:49:40PM -0800, Conal Elliott wrote:<br>
</div><div class="im">&gt; I make some use of arrow notation, though sadly I often have to avoid<br>
&gt; it because my (pseudo-)&quot;arrows&quot; don&#39;t have arr. I&#39;d love to see a<br>
&gt; variant that has restricted expressiveness in exchange for arr-freeness.<br>
<br>
</div>It&#39;s hard to imagine arrow notation without arr (or at least<br>
contravariance in the first argument of the &quot;arrow&quot;) because forming<br>
expressions using the local environment is so central to it.  That is,<br>
I can&#39;t imagine what things you are trying to write in that situation.<br></blockquote><div><br>What I have in mind is a small collection of methods including fst &amp; 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&#39;t support arr.<br>

<br>I keep running into these pseudo-arrows in practical work. The reliance of arrow notation on arr means that I can&#39;t use arrow notation, and my code is terribly difficult to read.<br><br></div><div>-- Conal<br></div>

</div></div></div>