summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2024-04-05 18:35:26 -0700
committerKaz Kylheku <kaz@kylheku.com>2024-04-05 18:35:26 -0700
commiteff4cef0576fe2069da6265999c47ac8b3561878 (patch)
tree588cda7646a5f119e65ae930655567ee42049aa3 /eval.c
parentb651519abd6d62126ee9f6ee32826b7b34fb653c (diff)
downloadtxr-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