diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2019-08-08 06:35:23 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2019-08-08 06:35:23 -0700 |
commit | d7fabf2e890ee21abaaab2bf2396f3f12c57a58d (patch) | |
tree | c80c7940f597d1425737b4486af3e57e671b8a2a /tests | |
parent | a9f907cda6eb2babe5fb5aa2107f7e65ea198872 (diff) | |
download | txr-d7fabf2e890ee21abaaab2bf2396f3f12c57a58d.tar.gz txr-d7fabf2e890ee21abaaab2bf2396f3f12c57a58d.tar.bz2 txr-d7fabf2e890ee21abaaab2bf2396f3f12c57a58d.zip |
compiler: inline-lambda: optimize generated let.
* share/txr/stdlib/compiler.tl (lambda-apply-transform): We
conditionally generate the outer let as an alet, if there are
no shadowing issues. The shadowing test is very conservative:
the intersection between the argument expressions and the
lambda symbols must be empty. Also, we move the gensym for
the apply list expression into the let*, because we need a
real storage location that we can pop.
Diffstat (limited to 'tests')
0 files changed, 0 insertions, 0 deletions