[racket-dev] [plt] Push #26536: master branch updated

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Thu Apr 11 12:22:10 EDT 2013

On Thu, Apr 11, 2013 at 10:54 AM, Eli Barzilay <eli at barzilay.org> wrote:

> A few minutes ago, Carl Eastlund wrote:
> > If you're writing a higher-order tool like curry or negate, and want to
> > produce a meaningful arity for its result, you're going to need some
> explicit
> > representation of arity to manipulate, e.g. subtract one from every
> number in
> > the list after partially applying to a single argument.  Once users are
> > manipulating the value, you either need to accept non-normalized inputs,
> or
> > you need an abstract datatype to encapsulate the whole thing that
> enforces
> > normalization.  Since we already have list-based arities in our
> interfaces, I
> > continued with the interface as it was.
>
> OK, I'll settle this with this addition to the racket2 wishlist:
>
>   * Get rid of the `arity-at-least` struct, and replace it with just
>     an `arity` that abstracts over the whole arity thing -- always
>     normalizing and includes keyword arity information.
>
>
>
That sounds perfect to me!


> > I did think of combining the two arity-includes? functions, I wasn't
> > sure whether the extra overloading would make things clearer or more
> > confused.  I can see doing it either way.
>
> +1 for the overloading, given the bad names that result from not doing
> so.  Meanwhile, I've added this to the above item:
>
>   Also, make it possible to always use a procedure where an arity is
>   expected.
>
> --
>           ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
>                     http://barzilay.org/                   Maze is Life!
>
> _________________________
>   Racket Developers list:
>   http://lists.racket-lang.org/dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/dev/archive/attachments/20130411/f6a0722b/attachment.html>

Posted on the dev mailing list.