| Patent application number | Description | Published |
| 20090271765 | CONSUMER AND PRODUCER SPECIFIC SEMANTICS OF SHARED OBJECT PROTOCOLS - Determining how to perform operations specified in executable code. A method may include accessing a language context. The language context is related to a consumer location in executable code. The language context specifies an operation to be performed on one or more objects. The method includes sending a message requesting information about how to perform the operation on the one or more objects. A meta-object is received. The meta-object includes or produces executable code, that when executed performs the operation on the one or more objects. | 10-29-2009 |
| 20090328016 | GENERALIZED EXPRESSION TREES - Expression tree versatility and applicability are enhanced to facilitate programming across various program languages and execution contexts. An expression tree can represent programmatic code as data in a representation common to multiple process mechanisms. As a result, entire programs or portions thereof can be captured and processed by a numerous common language components. Further, language specific concepts can be reduced to the common representation to enable language independent employment. | 12-31-2009 |
| 20100153939 | REMAPPING DEBUGGABLE CODE - User script code that has been developed for execution in a host application can be remapped to debuggable script code, based on explicit debugging gestures, allowing for appropriate debugging coverage for the code while mitigating execution (in)efficiency issues. Capabilities of an application virtual machine used for the host application can be determined, and the user script code can be instrumented with guards for detecting explicit debugging gestures based on a virtual machine's (VM′) capabilities. The instrumented user script code can be executed in a runtime environment, for example, by a just-in-time compilation service. If an explicit debugging gesture is detected, a function where the gesture was detected can be transformed into debuggable script code, in one embodiment, based on the debuggable gesture detected. | 06-17-2010 |
| 20100299658 | COMPILE-TIME CONTEXT FOR DYNAMICALLY BOUND OPERATIONS - Compile-time context information is captured and provided to a runtime binder for dynamic features in programming languages. For example, a C# run-time binder uses the information to perform a run-time bind with semantics matching the compiler's binding behavior. Dynamic programming language features supported relate to compound operations, events, delegates, member accessibility, dynamic-typed objects, structs passed by ref, arguments passed by name rather than position, extension methods, conditionally compiled methods, literal arguments, overflow checking, dynamic indexed properties, dynamic method groups, and static method groups. | 11-25-2010 |
| Patent application number | Description | Published |
| 20100299660 | DYNAMIC BINDING DIRECTED BY STATIC TYPES - A static type, called “dynamic”, is introduced into a statically bound programming language. An expression or subexpression that is defined as a static type called “dynamic” in the source code of a program written in the statically bound programming language, is bound based on its runtime type instead of on its compile time type. Binding can be performed based on a mixture of compile time and runtime types that are based on the specification of types of expressions in source code. This type of binding is called hybrid binding. Operations are bound using the runtime type of constituent expressions (i.e., the runtime type of a receiver, an argument, or an operand) typed as dynamic and the compile time type of static constituents. If any constituent expression of an operation is dynamic, binding occurs at runtime instead of at compile time. | 11-25-2010 |
| 20110307874 | CREATING TEXT FUNCTIONS FROM A SPREADSHEET - The present invention extends to methods, systems, and computer program products for creating text functions form a spreadsheet. Embodiments of the invention extract functions from spreadsheets and represent the functions in textual form. Representation in textual form promotes code reuse, clarify, expressive power, and better performance. Text can be rendered in virtually any programming language, such as, for example, C#, C++, Visual Basic (“VB”), etc. In some embodiments, programming language extensibility to support spreadsheet compatible data types and functions is utilized. | 12-15-2011 |
| 20110314365 | DECOMPILING LOOPS IN A SPREADSHEET - The present invention extends to methods, systems, and computer program products for decompiling loops in a spreadsheet. Embodiments of the invention detect loops by walking a dependency graph on a spreadsheet. As nodes are encountered, sequences of the same formulas are looked for in a normalized representation of the spreadsheet (e.g., R1C1 notation). When the same formulas are identified, the formulas may represent a loop. The spatial structure of the cells is analyzed to determine which cells are to be stored in arrays and which cells can be loop carried dependencies. | 12-22-2011 |
| 20110314461 | IMPLEMENTING PARALLEL LOOPS WITH SERIAL SEMANTICS - The present invention extends to methods, systems, and computer program products for implementing parallel loops with serial semantics. Embodiments of the invention provide a semantic transforms and codegen patterns that provide more efficient parallel loop implementations with serial loop semantics. Embodiments of the invention support assignments within for-loop bodies, support break/return constructs within for-loop bodies, and run transformations to covert serial constructs to parallel constructs. | 12-22-2011 |