diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2024-04-05 18:35:26 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2024-04-05 18:35:26 -0700 |
commit | eff4cef0576fe2069da6265999c47ac8b3561878 (patch) | |
tree | 588cda7646a5f119e65ae930655567ee42049aa3 /eval.c | |
parent | b651519abd6d62126ee9f6ee32826b7b34fb653c (diff) | |
download | txr-eff4cef0576fe2069da6265999c47ac8b3561878.tar.gz txr-eff4cef0576fe2069da6265999c47ac8b3561878.tar.bz2 txr-eff4cef0576fe2069da6265999c47ac8b3561878.zip |
compiler: update list of constant and effect-free functions.
* stdlib/constfun.tl (%const-foldable-funs%): Numerous
functions added, mostly new ones.
(%effect-free-funs%): Indentation fixed. Some functions
added, but also removed. We don't want anything in here that
could take a functional argument. The optimizer will blindly
a call to an effect-free function, if its result is not
used, regardless of what the arguments are. It won't take into
consideration that there is a functional argument, which could
be a function that has a side effect, and that is called
by the supposedly effect-free function. So for instance, sort
is out; the comparison or key functions could have side effects.
We could put these functions into a special category.
Diffstat (limited to 'eval.c')
0 files changed, 0 insertions, 0 deletions