Late reply, but better than never.

On 2013-03-10 16:20:14 -0400, Eli Barzilay wrote:
> Assuming this, here's a suggestion that I made in the past for
> resolving this:
>
> * Make the existing `take', `drop', `split-at' accept their arguments
>   in *either* order.

I'm fine with this.

> * Change the required types for lists to be a null-or-pair, or even
>   require a `list?', or require a `list?' but throw an error only if
>   scanning gets to a non-null-terminator.  Any of these would make
>   sure that the arguments are distinguishable.  (You can currently
>   write something like (take 0 1) -- it's not an error.)

I would much prefer a `list?` if backwards compatibility for this isn't
a concern. Has anyone *ever* used the "feature" that `take` can operate
on non-lists?

> * And another thing that can be done to reduce the name clutter is to
>   have only the plain names, but make them accept either an index or a
>   predicate.

I'm less sure about this change, since the `f` suffix isn't particularly
verbose and the integer case is likely more common, but I'm not opposed
to it either.

Cheers,
Asumu
_________________________
  Racket Developers list:
  http://lists.racket-lang.org/dev

Reply via email to