Opened 3 years ago
Closed 11 months ago
#1794 closed defect (duplicate)
(r7rs) syntax-rules doesn't allow combining ellipsis and dotted tail
Reported by: | sjamaan | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 6.0.0 |
Component: | unknown | Version: | 5.3.0 |
Keywords: | r7rs, syntax-rules, macros | Cc: | evhan |
Estimated difficulty: | medium |
Description
According to the R7RS spec, the following should match:
(define-syntax match-ellipsis-and-dotted-tail1 (syntax-rules () ((_ a ... . b) '(a ... b)))) (print (match-ellipsis-and-dotted-tail1 x y . z))
And this, too:
(define-syntax match-ellipsis-and-dotted-tail2 (syntax-rules () ((_ (a) ... . (b)) '(a ... b)))) (print (match-ellipsis-and-dotted-tail2 (x) (y) z))
Both should print (x y z)
.
Might be nice to support this in the core syntax-rules
, or if it's too tricky, we could just support it only in the R7RS egg.
Change History (3)
comment:1 Changed 3 years ago by
comment:2 Changed 11 months ago by
Milestone: | 5.4 → 6.0.0 |
---|
comment:3 Changed 11 months ago by
Resolution: | → duplicate |
---|---|
Status: | new → closed |
Note: See
TracTickets for help on using
tickets.
NOTE: seems to be a duplicate of #1736 which claims this was already part of SRFI 46, so I think we should try and support it in core.