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

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Thu Nov 29 10:29:56 EST 2012

+1


On Nov 29, 2012, at 7:31 AM, Carl Eastlund wrote:

> 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
> 
> _________________________
>  Racket Developers list:
>  http://lists.racket-lang.org/dev

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4373 bytes
Desc: not available
URL: <http://lists.racket-lang.org/dev/archive/attachments/20121129/263483a4/attachment-0001.p7s>

Posted on the dev mailing list.