1. A computer-implemented method, comprising: compiling, by a rule engine running on a processing device, a plurality of rules to build a network to evaluate facts against the plurality of rules, wherein a rule of the plurality of rules requires multiple calculations to be executed for a set of facts; and creating, by the rule engine, a single multi-result set calculation node for the rule, the multi-result set calculation node to generate a set of results and to add the set of results to a tuple to be propagated to a second node connected to an output of the multi-result set calculation node.
1. A computer-implemented method, comprising: compiling, by a rule engine running on a processing device, a plurality of rules to build a network to evaluate facts against the plurality of rules, wherein a rule of the plurality of rules requires multiple calculations to be executed for a set of facts; and creating, by the rule engine, a single multi-result set calculation node for the rule, the multi-result set calculation node to generate a set of results and to add the set of results to a tuple to be propagated to a second node connected to an output of the multi-result set calculation node. 5. The method of claim 1 , further comprising: constraining, by the rule engine, results of the multiple calculations performed at the multi-result set calculation node using a virtual result type.