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

From: Eli Barzilay (eli at barzilay.org)
Date: Tue Oct 16 15:39:27 EDT 2012

A few minutes ago, Sam Tobin-Hochstadt wrote:
> On Tue, Oct 16, 2012 at 3:10 PM, Eli Barzilay <eli at barzilay.org> wrote:
> > Just now, Jay McCarthy wrote:
> >> match-define is something else
> >
> > Indeed it is -- which makes the whole thing even more confusing.  I
> > can't help imagining a newbie's reaction when they're told that
> >
> >   Oh, here's your mistake -- you've used match-define where you should
> >   have used define/match.
> >
> >
> > IMO, this is bad enough to withdraw it if there's no good name for it.
> I think both names are in keeping with the appropriate conventions --
> `match-define` is a variant of `define` but with patterns in the
> binding positions, just like `match-let` and `match-lambda` etc.  I
> don't think this is any different from `regexp-match` vs
> `regexp-match*`, for example.

Yes, both names follow conventions, only different ones.  It's the
mixture of convention that make the above newbie situation look so
ridiculously confusing.

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

Posted on the dev mailing list.