<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Apr 11, 2013 at 10:54 AM, Eli Barzilay <span dir="ltr">&lt;<a href="mailto:eli@barzilay.org" target="_blank">eli@barzilay.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">A few minutes ago, Carl Eastlund wrote:<br>
</div><div class="im">&gt; If you&#39;re writing a higher-order tool like curry or negate, and want to<br>
&gt; produce a meaningful arity for its result, you&#39;re going to need some explicit<br>
&gt; representation of arity to manipulate, e.g. subtract one from every number in<br>
&gt; the list after partially applying to a single argument.  Once users are<br>
&gt; manipulating the value, you either need to accept non-normalized inputs, or<br>
&gt; you need an abstract datatype to encapsulate the whole thing that enforces<br>
&gt; normalization.  Since we already have list-based arities in our interfaces, I<br>
&gt; continued with the interface as it was.<br>
<br>
</div>OK, I&#39;ll settle this with this addition to the racket2 wishlist:<br>
<br>
  * Get rid of the `arity-at-least` struct, and replace it with just<br>
    an `arity` that abstracts over the whole arity thing -- always<br>
    normalizing and includes keyword arity information.<br>
<div class="im"><br>
<br></div></blockquote><div><br></div><div style>That sounds perfect to me!</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
&gt; I did think of combining the two arity-includes? functions, I wasn&#39;t<br>
&gt; sure whether the extra overloading would make things clearer or more<br>
&gt; confused.  I can see doing it either way.<br>
<br>
</div>+1 for the overloading, given the bad names that result from not doing<br>
so.  Meanwhile, I&#39;ve added this to the above item:<br>
<br>
  Also, make it possible to always use a procedure where an arity is<br>
  expected.<br>
<div class="im HOEnZb"><br>
--<br>
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:<br>
                    <a href="http://barzilay.org/" target="_blank">http://barzilay.org/</a>                   Maze is Life!<br>
<br>
</div><div class="HOEnZb"><div class="h5">_________________________<br>
  Racket Developers list:<br>
  <a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
</div></div></blockquote></div><br></div></div>