Details
-
Task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
0.9.4
-
None
-
None
Description
Currently, some functions are excluded from being evaluated at compile time in constant folding rule. Those functions are maintained in a set. The reason for excluding them is because they can produce records/lists in their "open" format and constant folding them will make them "closed" which would lead to incorrect results. Any time a new function is implemented, the developer would have to pay attention and add their functions if they should be excluded, too.
The exclusion set should be removed. The constant folding rule should determine from the output type of the function whether it can/should be folded or not.