OK, thanks for the confirmation. On Wed, Sep 21, 2011 at 2:43 PM, Ryan Culpepper <r...@cs.utah.edu> wrote: > That's a bug. A pattern variable should always be bound to a syntax object. > > Ryan > > > On 09/21/2011 03:39 PM, Casey Klein wrote: >> >> I'm confused by the behavior of syntax/parse pattern variables that >> come after dots. Sometimes they're bound to lists and sometimes to >> syntax objects. >> >> For example, in the following example, the variable `after-ones' gets >> bound to a list: >> >> #lang racket/base >> >> (require (for-syntax racket/base)) >> >> (begin >> (require (for-syntax syntax/parse)) >> >> (define-syntax (m stx) >> (syntax-parse stx >> [(_ 1 ... . after-ones:expr) >> (if (list? #'after-ones) >> #''list >> #''not-list)])) >> >> (m 1 1 2 1 2 3)) ; 'list >> >> but it gets bound to a syntax object if I drop the variable's `expr' >> syntax-class. >> >> That is, unless you're using scribble/eval, in which case dropping the >> syntax-class does not change the behavior: >> >> #lang scribble/manual >> >> @(require scribble/eval) >> >> @(parameterize ([current-eval (make-base-eval)]) >> (interaction-eval (require (for-syntax racket/base))) >> (interaction (begin >> (require (for-syntax syntax/parse)) >> >> (define-syntax (m stx) >> (syntax-parse stx >> [(_ 1 ... . after-ones:expr) >> (if (list? #'after-ones) >> #''list >> #''not-list)])) >> >> (m 1 1 2 1 2 3)))) >> >> What's going on? >> _________________________________________________ >> For list-related administrative tasks: >> http://lists.racket-lang.org/listinfo/dev > >
_________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev