[plt-scheme] Re: match: syntax checking of =

From: David Van Horn (dvanhorn at cs.uvm.edu)
Date: Mon May 3 09:17:51 EDT 2004

David Van Horn wrote:
> I recently made the following typo:
> 
>    (match 'x ((= symbol?) #t))
> 
> instead of
> 
>    (match 'x ((= symbol? _) #t))
> 
> The former causes an infinite loop when using the syntax checker or 
> evaluating the expression (as does (match 'x ((=) #t))).  The pat 
> production for = is (= expr pat) so I wonder why this doesn't raise a 
> syntax error.  Is this a bug?

Upon further inspection I've found the following all cause the syntax checker 
to loop:

    (match 'x ((set!) #t))
    (match 'x ((get!) #t))
    (match 'x ((= f) #t))
    (match 'x ((=) #t))
    (match 'x (($) #t))
    (match 'x ((not) #t))

David



Posted on the users mailing list.