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

From: Eli Barzilay (eli at barzilay.org)
Date: Mon Feb 27 21:56:49 EST 2012

5 hours ago, Vincent St-Amour wrote:
> At Mon, 27 Feb 2012 16:39:33 -0500, Eli Barzilay wrote:
> > Is there really a need for an N+1 way to do this?
> 
> This is a common idiom, and there was no way to make it as
> convenient as it should be. Yes, it's easily implementable in terms
> of `build-list' or `in-range' but having to roll your own every time
> doesn't feel right to me. srfi/1's `iota' comes close, but its name
> and argument order being different than `in-lists''s make it less
> nice IMO.

I don't have a strong opinion either way, but for such changes at
least a warning should be sent, especially given that it's a common
name which means that it can break code.  (I've learned this from
`identity' and `thunk', which lead to several such problems.)


> > If it stays, then I'd prefer a version that is more directly
> > implemented in terms of `in-range' (let it determine defaults),
> 
> I can fix that. I didn't write it that way to avoid duplication of
> the error handling logic. If you have a solution to that, I'm
> interested.

If it's presented as a convenient & trivial shorthand for `in-range'
then I don't think that there's a big problem with just passing the
arguments as is straight on.  I like the idea of a thin wrapper which
by default will inherit any possible future changes and extensions to
`in-range', which is why I think that it's fine to implement and
document it as such.


> > and a description that similarly builds directly on `in-range' (as
> > the comment in the code says).
> 
> I can add a note at the end.  I still want the entry to be
> understandable independently of `in-range'.

See above for why I'd like having such a note.  (And I think that in
all other cases the common style is to first say "like foo except
blah" and then go on into more explanations.)

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the dev mailing list.