Abstract:
Syntax for creating object instances utilizing expressions instead of statements. A syntax component facilitates extension of conventional object-creation-expression syntax. An initializer component provides for initialization of a newly-created entity via object and collection initializers. The initializer component provides initialization of the newly-created entity utilizing an object initializer where the object initializer specifies values for one or more fields or properties of the newly-created entity which is an object, and consists of a sequence of member initializers enclosed by tokens and separated by commas. The initializer component can also provides initialization of the newly-created entity utilizing a collection initializer when the underlying object implements a certain interface or implements a certain pattern. An overloading constructor can be called as part of the initialization process. In another aspect, code inferencing is disclosed whereby given a type, the corresponding code can be inferred by the compiler and inserted for compiling by a compiler.
Abstract:
Anonymous types for a programming language. Non-denotable anonymous types are types that a compiler generates on behalf of a programmer and can then be used as nominal types. Insofar as anonymous types do not have a name, they can be used only inside a method in which they are created. Additionally, an anonymous type cannot be exposed in any way outside of the method. Syntax to create an anonymous type is useful when employed with a Select operator to generate a result with a particular shape, without the need of having a regular type for it. Anonymous types are expressible such that an expression of that type can be written. Translation of an anonymous type by a compiler generates a nominal class that implements Equals and GetHashCode methods. There is equivalence of anonymous types within the same method, and conversion of an unrealized structural type into structurally compatible nominal type.
Abstract:
The subject disclosure pertains to systems and methods for supporting null capabilities for general purpose programming languages. Low level, runtime support for a nullable type is provided to ensure consistency and coherency. An execution component restricts support of the nullable type to programming language types that lack a null capability. The execution component may also provide support for conversion between the nullable type and a reference type.
Abstract:
A gear for use in a gear pump having intermeshing gear teeth includes indentations formed on one or both of first and second sides of at least one of the multiple gear teeth of the gear. Each of the indentations is of sufficient size to allow material to flow into the indentation during counter-rotation of the intermeshing gears. Material processed by the gear pump and otherwise trapped between the intermeshing gears flows into the indentation, which forms a channel that connects to the outlet chamber. The otherwise trapped material flows into the outlet chamber. The gear having gear tooth indentations decreases the amount of material trapped between the intermeshing gears and thereby decreases the amount of material squeezed out the sides of the gears and improves material flow within the gear pump.
Abstract:
The present invention is a layered structures of substantially-crystalline semiconductor materials and processes for making such structures. More particularly, the invention epitaxial grows a substantially-crystalline layer of a second elemental semiconductor material on a substantially-crystalline first semiconductor material different from the second material in which there is a significant mismatch in at least one dimension between the crystal-lattice structures of the two materials.