[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.