<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"><<a href="mailto:eli@barzilay.org" target="_blank">eli@barzilay.org</a>></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">> If you're writing a higher-order tool like curry or negate, and want to<br>
> produce a meaningful arity for its result, you're going to need some explicit<br>
> representation of arity to manipulate, e.g. subtract one from every number in<br>
> the list after partially applying to a single argument. Once users are<br>
> manipulating the value, you either need to accept non-normalized inputs, or<br>
> you need an abstract datatype to encapsulate the whole thing that enforces<br>
> normalization. Since we already have list-based arities in our interfaces, I<br>
> continued with the interface as it was.<br>
<br>
</div>OK, I'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">
> I did think of combining the two arity-includes? functions, I wasn't<br>
> sure whether the extra overloading would make things clearer or more<br>
> 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'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>