IP Library Patent Application 11766345
Patent Application
App. No. 11/766,345

TYPE INFERENCE AND LATE BINDING

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
11/766,345
Abstract

A type inference option is available for a computer programming language. The option acts as a switch to specify whether or not type inference is applicable (e.g., on or off). Type inference can be employed in conjunction with late binding or options therefor. In this manner, a computer program can be developed with the convenience of type inference and the flexibility of late binding while still maintaining at a degree of type safety.

Claims (27)

1 . A program compilation system, comprising:

an identifier component that identifies compiler options including an inference option associated with a computer program; and

an inference component that infers types as a function of the inference option.

2 . The system of claim 1 , the inference option is associated with a project and/or file.

3 . The system of claim 1 , the inference option identifies one or more applicable syntactic and/or semantic constructs on which the option applies.

4 . The system of claim 3 , the syntactic and/or semantic constructs are local variables, fields, or properties, result types and/or method parameters.

5 . The system of claim 1 , the inference option identifies one or more syntactic and/or semantic constructs on which the option is does not apply.

6 . The system of claim 1 , the identifier component identifies a binding option.

7 . The system of claim 6 , further comprising a binding component that binds types to objects in accordance with the binding option.

8 . The system of claim 7 , the inference option and binding option are dependent upon one another.

9 . The system of claim 7 , the binding component performs late binding when a language root type or special static type is explicitly specified.

10 . The system of claim 1 , the options are specified in a compiler command line statement.

11 . A method of program translation, comprising:

identifying inference and binding options for a program;

inferring types for programmatic constructs that omit a type if the inference option is on; and

delaying binding of types to objects until runtime for programmatic constructs annotated with a root type if the binding option is on.

12 . The method of claim 11 , identifying the options from within the program and/or at compiler command line.

13 . The method of claim 11 , further comprising producing an error if a type is omitted for a programmatic construct and the inference option is off.

14 . The method of claim 11 , further comprising inferring types for a local variable, field or property, return value and/or a method parameter.

15 . The method of claim 11 , further comprising binding types to objects at compile time if the binding option is off.

16 . The method of claim 11 , further comprising identifying the inference option as a function of the binding option or identifying the binding option as a function of the inference option.

17 . A computer readable medium having stored thereon a computer program comprising:

a plurality of computer programming code; and

an option statement within the code that indicates whether or not type inference is to be performed with respect to the code.

18 . The computer readable medium of claim 17 , the option statement identifies syntactic constructs on which type inference is on or off.

19 . The computer readable medium of claim 18 , the option statement identifies local variables, fields, or properties, return types and/or method parameters.

20 . The computer readable medium of claim 17 , further comprising an option statement identifies whether or not late binding is applicable.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034766/0509 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2007
From: MEIJER, HENRICUS JOHANNES MARIA; SILVER, AMANDA; VICK, PAUL A.; ANEJA, JONATHAN PAUL; NG, TIMOTHY YAT TIM; RIVARD, JOHN J.
To: MICROSOFT CORPORATION
Reel/Frame 019537/0152 →