Community
Participate
Working Groups
I'd like to add a new type of Root Action to the mix. This would be a "Derived" action. The idea here is that the value would be calculated IFF it was needed for some other usage. These would be defined like any other rule, with setters at the leaves for the derived value attributes. But all such attributes would be marked as "derived", meaning that they could *not* have their values set from any other rule. The idea here is that these attributes would typically be implemented as getter methods and the values would not need to be stored as state. OTOH, codegen implementations would be free to implement caching and other (say inference based) performance schemes to handle situations where values might be frequently calculate or accessed. This would make a lot of common constructs much simpler to maintain and most importantly would provide an elegant way to support derived output statistics and the like that might not be relevant to the actual model execution. (Of course, there would be cases where they would be.) Since these could be inferred by usage, they could then be optimized entirely out of runtime code for high-performance cases.
Completed, including editing support.
...