From 0242d633b50ae4883a46cda2bc8edd934cac8672 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Fri, 19 Feb 2021 21:36:04 -0800 Subject: 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. --- share/txr/stdlib/compiler.tl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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)) -- cgit v1.2.3