mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-18 21:29:19 +02:00
Don't treat underscore as a pattern variable. Fixes issue #382.
This commit is contained in:
parent
71f4db7d17
commit
9fa8d8c1f0
2 changed files with 10 additions and 2 deletions
|
@ -706,7 +706,8 @@
|
||||||
(_reverse (rename 'reverse))
|
(_reverse (rename 'reverse))
|
||||||
(_vector->list (rename 'vector->list))
|
(_vector->list (rename 'vector->list))
|
||||||
(_list->vector (rename 'list->vector))
|
(_list->vector (rename 'list->vector))
|
||||||
(_cons3 (rename 'cons-source)))
|
(_cons3 (rename 'cons-source))
|
||||||
|
(_underscore (rename '_)))
|
||||||
(define ellipsis (if ellipsis-specified? (cadr expr) (rename '...)))
|
(define ellipsis (if ellipsis-specified? (cadr expr) (rename '...)))
|
||||||
(define lits (if ellipsis-specified? (car (cddr expr)) (cadr expr)))
|
(define lits (if ellipsis-specified? (car (cddr expr)) (cadr expr)))
|
||||||
(define forms (if ellipsis-specified? (cdr (cddr expr)) (cddr expr)))
|
(define forms (if ellipsis-specified? (cdr (cddr expr)) (cddr expr)))
|
||||||
|
@ -729,7 +730,9 @@
|
||||||
(list _and
|
(list _and
|
||||||
(list _compare v (list _rename (list _quote p)))
|
(list _compare v (list _rename (list _quote p)))
|
||||||
(k vars))
|
(k vars))
|
||||||
(list _let (list (list p v)) (k (cons (cons p dim) vars)))))
|
(if (compare p _underscore)
|
||||||
|
(k vars)
|
||||||
|
(list _let (list (list p v)) (k (cons (cons p dim) vars))))))
|
||||||
((ellipsis? p)
|
((ellipsis? p)
|
||||||
(cond
|
(cond
|
||||||
((not (null? (cdr (cdr p))))
|
((not (null? (cdr (cdr p))))
|
||||||
|
|
|
@ -460,6 +460,11 @@
|
||||||
(part-2x (10 (+ 21 22) (31 32) (41 42) (51 52) (+ 61 2) 77 . "tail")))
|
(part-2x (10 (+ 21 22) (31 32) (41 42) (51 52) (+ 61 2) 77 . "tail")))
|
||||||
|
|
||||||
;; underscore
|
;; underscore
|
||||||
|
(define-syntax underscore
|
||||||
|
(syntax-rules ()
|
||||||
|
((foo _) '_)))
|
||||||
|
(test '_ (underscore foo))
|
||||||
|
|
||||||
(define-syntax count-to-2
|
(define-syntax count-to-2
|
||||||
(syntax-rules ()
|
(syntax-rules ()
|
||||||
((_) 0)
|
((_) 0)
|
||||||
|
|
Loading…
Add table
Reference in a new issue