Reusing expression graphs in computer programming languages
First Claim
1. A computing system comprising:
- a processing unit; and
one or more computer storage media having computer readable instructions stored thereon that, when executed by the processing unit, cause the processing unit to;
build a reusable expression graph using a parameter node as a leaf node that acts as a placeholder, wherein the reusable expression graph represents an expression;
bind the parameter node to a bindable term such that the parameter node acts act as a proxy for the bindable term, the bindable term comprising another expression that contains a plurality of hard values; and
evaluate the expression using the bindable term comprising the another expression that contains the plurality of hard values.
3 Assignments
0 Petitions
Accused Products
Abstract
A reusable expression graph system and method that generates reusable expression graphs that can be used with potentially different input parameters in order to achieve computational efficiency and ease of programming. Reusable expression graph mitigate the need to rebuild an expression for each new value. This is achieved in part by creating a node called a “parameter node.” The parameter node acts as a generic placeholder for a leaf node in the expression graph. In addition, the parameter node acts as a proxy for a bindable term of the leaf node, and the bindable term can be either a value or one or more additional expressions. The parameter node then is bound to the bindable term and the expression is evaluated with that bindable term instead of the placeholder. The parameter node created by embodiments of the reusable expression graph system and method works across many different programming languages.
-
Citations
20 Claims
-
1. A computing system comprising:
-
a processing unit; and one or more computer storage media having computer readable instructions stored thereon that, when executed by the processing unit, cause the processing unit to; build a reusable expression graph using a parameter node as a leaf node that acts as a placeholder, wherein the reusable expression graph represents an expression; bind the parameter node to a bindable term such that the parameter node acts act as a proxy for the bindable term, the bindable term comprising another expression that contains a plurality of hard values; and evaluate the expression using the bindable term comprising the another expression that contains the plurality of hard values. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. One or more computer-readable memory devices or storage devices storing computer readable instructions which, when executed by a processing unit of a computing device, cause the processing unit to perform acts comprising:
-
building a reusable expression graph using a parameter node as a leaf node that acts as a placeholder, wherein the reusable expression graph represents a first expression; binding the parameter node to a bindable term comprising a second expression that contains an embedded parameter; and evaluating the first expression using the bindable term comprising the second expression that contains the embedded parameter. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer-readable memory device or storage device storing a reusable expression graph, the reusable expression graph comprising:
-
an operator node containing an operator; a first parameter node that acts as a first placeholder; and a second parameter node that is joined to the first parameter node by the operator node, wherein the first parameter node comprises at least one operator and at least one operand. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification