mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 11:40:18 +02:00
*** empty log message ***
This commit is contained in:
parent
662925356a
commit
712e77f291
1 changed files with 5 additions and 2 deletions
|
@ -85,13 +85,16 @@
|
|||
(else (error "bad cond" x))))))
|
||||
((do)
|
||||
(match rest
|
||||
((((sym init update) ...) (test . result) body ...)
|
||||
((((sym init . update) ...) (test . result) body ...)
|
||||
(define (translate-update s x)
|
||||
(if (pair? x) (translate (car x)) s))
|
||||
`(@letrec ((_loop (@lambda
|
||||
,sym
|
||||
(@if ,(translate test)
|
||||
(@begin ,@(map translate result))
|
||||
(@begin ,@(map translate body)
|
||||
(_loop ,@(map translate update)))))))
|
||||
(_loop ,@(map translate-update
|
||||
sym update)))))))
|
||||
(_loop ,@(map translate init))))))
|
||||
|
||||
((eval-case)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue