mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-01 04:10:18 +02:00
* module/language/tree-il/optimize.scm (peval): The old approach of optimistically producing constants and then de-constifying them at their uses was not only cumbersome but incorrect: it both failed to preserve identity in some cases and failed to retain immutable constant values. Instead, now we only produce constants if they really are constant and immutable. The constant folder has to have a few more algebraic cases to be as effective as it was, to destructure (car (cons _ _)) appropriately. On the plus side, now constructors and deconstructors can handle impure cases more generally. * test-suite/tests/tree-il.test ("partial evaluation"): Add constructor and destructuring tests. Adapt other tests to new expectations. |
||
---|---|---|
.. | ||
ice-9 | ||
language | ||
oop | ||
rnrs | ||
scripts | ||
srfi | ||
sxml | ||
system | ||
texinfo | ||
web | ||
Makefile.am | ||
rnrs.scm | ||
statprof.scm | ||
texinfo.scm |