On Tue, Oct 16, 2012 at 3:54 PM, Eli Barzilay <e...@barzilay.org> wrote: > A few minutes ago, Sam Tobin-Hochstadt wrote: >> On Tue, Oct 16, 2012 at 3:39 PM, Eli Barzilay <e...@barzilay.org> wrote: >> > A few minutes ago, Sam Tobin-Hochstadt wrote: >> >> On Tue, Oct 16, 2012 at 3:10 PM, Eli Barzilay <e...@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. >> >> Unfortunately, we have only one thing we can vary here -- the name. >> So while I'd be happy to hear better names for `define/match`, it >> would be wrong to call it `match-define`, and it's a valuable form >> and I plan to keep it. > > Yes, the name is what should vary here, I had nothing to say about > what it does. Please¹⁷ change it. Even a `match-define*' would be > better than `define/match'.
`match-define*` would be much worse -- it isn't a variant on `match-define`, nor does it resemble any of the other `match-X` forms. -- sam th sa...@ccs.neu.edu _________________________ Racket Developers list: http://lists.racket-lang.org/dev