[plt-scheme] syntax-case pattern matching change

From: David Van Horn (dvanhorn at cs.brandeis.edu)
Date: Wed Feb 27 16:35:54 EST 2008

The semantics of syntax-case pattern matching for dotted patterns 
changed going from 372 to 399.  The following example illustrates the 
difference:

Welcome to MzScheme v372 [3m], Copyright (c) 2004-2007 PLT Scheme Inc.
 > (syntax-case #'(a b c) ()
     [(x ... . y) 'yes]
     [_ 'no])
no

Welcome to MzScheme v3.99.0.13 [3m], Copyright (c) 2004-2008 PLT Scheme Inc.
 > (syntax-case #'(a b c) ()
     [(x ... . y) 'yes]
     [_ 'no])
yes

I'm curious: why was this change made?  (I actually prefer that latter 
behavior, but it seems like a subtle change that could quietly break 
some macros).

Perhaps this deserves an entry in MzScheme_4.txt?

David



Posted on the users mailing list.