[racket-dev] The `var` pattern in `match`

From: Carl Eastlund (cce at ccs.neu.edu)
Date: Thu Nov 29 07:31:47 EST 2012

Having something like the "var" pattern can be useful for macros that
expand into uses of match, if the macro doesn't want to expose that a bound
variable will be a match pattern and therefore must not be "_" or "...".
Granted, there are ways around this, but personally I think it would be
nice if match supported this pattern.  I would, however, entirely support
renaming this pattern to something more obscure, like
"match:pattern-variable" or something, so that unintentional uses stop
being a problem.

Carl Eastlund

On Thu, Nov 29, 2012 at 12:17 AM, Neil Toronto <neil.toronto at gmail.com>wrote:

> On 11/28/2012 06:04 PM, David Van Horn wrote:
>> On 11/28/12 7:53 PM, Sam Tobin-Hochstadt wrote:
>>> Currently, `match` provides a pattern named `var`, which makes `(var
>>> id)` equivalent to `id`, but without special cases for things like `_`
>>> and `...`.
>>> However, this frequently conflicts with structures that people define,
>>> and is rarely used other than accidentally.  I'd therefore like to
>>> remove it entirely.
>> + (expt 2 (expt 2 (expt 2 (expt 2 2))))
> Since I've never used `var' and it sounds like a great idea to get rid of
> it, I'll see David's repeated exponential and raise it by \aleph_0.
> Note that downvotes must now at least sum to \aleph_1 to retain the `var'
> pattern. One downvote for every real number is sufficient.
> Neil ⊥
> _________________________
>  Racket Developers list:
>  http://lists.racket-lang.org/**dev <http://lists.racket-lang.org/dev>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/dev/archive/attachments/20121129/d07928ef/attachment.html>

Posted on the dev mailing list.