mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
This change to the expander allows mixed local definitions and expressions. The expansion turns: (let () (a) (define (b) 42) (b) (b)) into: (let () (letrec* ((t0 (begin (a) (if #f #f))) (b (lambda () 42))) (b))) Which is to say, expressions that precede definitions are expanded as definitions of a temporary via (begin EXP (if #f #f)). * module/ice-9/psyntax.scm (expand-body): Allow mixed definitions and expressions. * module/ice-9/psyntax-pp.scm: Regenerate. * test-suite/tests/syntax.test: Add a couple tests and update for new error messages. |
||
---|---|---|
.. | ||
ice-9 | ||
language | ||
oop | ||
rnrs | ||
scripts | ||
srfi | ||
sxml | ||
system | ||
texinfo | ||
web | ||
Makefile.am | ||
rnrs.scm | ||
statprof.scm | ||
texinfo.scm |