From d6e9ea6dac781444f37179cef4f13c18b9fdbb12 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Fri, 25 Nov 2022 18:36:56 -0800 Subject: compiler: bug: some functions mustn't be constant-folded * stdlib/constfun.tl (%const-foldable-syms%): Removing the following functions, which cannot be constant folded because maybe are relied upon to produce fresh objects: cons, sub-list, conses, ldiff, uniq, tostring, tostringp, join, join-with. --- stdlib/constfun.tl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/stdlib/constfun.tl b/stdlib/constfun.tl index 48587c42..36aac0bd 100644 --- a/stdlib/constfun.tl +++ b/stdlib/constfun.tl @@ -41,14 +41,14 @@ 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 cons first rest sub-list identity typeof atom null false true have + cdddddr first rest identity typeof atom null false true have consp listp endp proper-listp length-list second third fourth fifth - sixth seventh eighth ninth tenth conses ldiff nthcdr nth tailp + sixth seventh eighth ninth tenth nthcdr nth tailp memq memql memqual rmemq rmemql rmemqual countq countql countqual posq posql posqual rposq rposql rposqual eq eql equal meq meql mequal - neq neql nequal max min clamp bracket take drop uniq if or and progn - prog1 prog2 nilf tf tostring tostringp display-width sys:fmt-simple - sys:fmt-flex join join-with sys:fmt-join packagep + neq neql nequal max min clamp bracket take drop if or and progn + prog1 prog2 nilf tf display-width sys:fmt-simple + sys:fmt-flex sys:fmt-join packagep symbolp keywordp bindable stringp length-str coded-length cmp-str string-lt str= str< str> str<= str>= int-str flo-str num-str int-flo flo-int tofloat toint tointz less greater -- cgit v1.2.3