mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-07-07 13:16:36 +02:00
Attempt to improve readability of syntax-template-transformer uses
Lipstick on a pig, but seems to be the best option available
This commit is contained in:
parent
aef1a1b358
commit
d6b13db503
1 changed files with 11 additions and 8 deletions
|
@ -1097,7 +1097,7 @@
|
||||||
(lits (if ellipsis-specified? (car (cddr expr)) (cadr expr)))
|
(lits (if ellipsis-specified? (car (cddr expr)) (cadr expr)))
|
||||||
(forms (if ellipsis-specified? (cdr (cddr expr)) (cddr expr))))
|
(forms (if ellipsis-specified? (cdr (cddr expr)) (cddr expr))))
|
||||||
(syntax-template-transformer rename compare
|
(syntax-template-transformer rename compare
|
||||||
#f
|
#f ; not id-syntax?
|
||||||
ellipsis ellipsis-specified?
|
ellipsis ellipsis-specified?
|
||||||
lits forms))))))
|
lits forms))))))
|
||||||
|
|
||||||
|
@ -1135,14 +1135,17 @@
|
||||||
_make-variable-transformer
|
_make-variable-transformer
|
||||||
(syntax-template-transformer
|
(syntax-template-transformer
|
||||||
rename compare
|
rename compare
|
||||||
#t
|
#t ; id-syntax?
|
||||||
ellipsis ellipsis-specified?
|
ellipsis ellipsis-specified?
|
||||||
(list (caar (cadr forms)))
|
(list ; lits, i.e. (set!)
|
||||||
(list (cadr forms)
|
(caar (cadr forms)))
|
||||||
(list
|
(list ; forms
|
||||||
(cons (caar forms) _o)
|
(cadr forms) ; set! form
|
||||||
(cons (cadr (car forms)) _o))
|
(list ; application form
|
||||||
(car forms))))))))))))
|
(cons (caar forms) _o)
|
||||||
|
(cons (cadr (car forms)) _o))
|
||||||
|
(car forms)) ; bare identifier form
|
||||||
|
))))))))))
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; let(rec)-syntax and datum->syntax
|
;; let(rec)-syntax and datum->syntax
|
||||||
|
|
Loading…
Add table
Reference in a new issue