diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-02-19 21:36:04 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-02-19 21:36:04 -0800 |
commit | 0242d633b50ae4883a46cda2bc8edd934cac8672 (patch) | |
tree | 2fc06dd24fe9e3226ce734f166464c59cec05560 /share | |
parent | 7cd3d92e972b10c4fb5d67079cb911c0aef8e5b4 (diff) | |
download | txr-0242d633b50ae4883a46cda2bc8edd934cac8672.tar.gz txr-0242d633b50ae4883a46cda2bc8edd934cac8672.tar.bz2 txr-0242d633b50ae4883a46cda2bc8edd934cac8672.zip |
compiler: constant-fold all cadr cons accessors.
* share/txr/stdlib/compiler.tl (%const-foldable-funs%): Add
all of the cadr, caddr, and other functions. Take out first
and second; these will be later added together with other
things that are being registered in eval.c.
Diffstat (limited to 'share')
-rw-r--r-- | share/txr/stdlib/compiler.tl | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/share/txr/stdlib/compiler.tl b/share/txr/stdlib/compiler.tl index f1bbf594..fb1dfdce 100644 --- a/share/txr/stdlib/compiler.tl +++ b/share/txr/stdlib/compiler.tl @@ -268,7 +268,13 @@ fixnump bignump floatp integerp numberp signum bignum-len divides sys:bits digpow digits poly rpoly b< b> b<= b=> b= b+ b- b* b/ neg pred ppred ppred pppred succ ssucc ssucc sssucc - car cdr cadr caddr first second)) + car cdr caar cadr cdar cddr caaar caadr cadar caddr cdaar cdadr cddar cdddr + caaaar caaadr caadar caaddr cadaar cadadr caddar cadddr cdaaar cdaadr + cdadar cdaddr cddaar cddadr cdddar cddddr caaaaar caaaadr caaadar caaaddr + caadaar caadadr caaddar caadddr cadaaar cadaadr cadadar cadaddr caddaar + caddadr cadddar caddddr cdaaaar cdaaadr cdaadar cdaaddr cdadaar cdadadr + cdaddar cdadddr cddaaar cddaadr cddadar cddaddr cdddaar cdddadr cddddar + cdddddr)) (defvarl %const-foldable% (hash-list %const-foldable-funs% :eq-based)) |