Patents by Inventor Robert Eric Lippert

Robert Eric Lippert has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9075667
    Abstract: 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.
    Type: Grant
    Filed: May 21, 2009
    Date of Patent: July 7, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Mads Torgersen, Anders Hejlsberg, James J. Hugunin, Matthew J. Warren, Neal Gafter, Lucian Jules Wischik, Robert Eric Lippert, Samuel Y. Ng, Christopher Joseph Burrows, Alex C. Turner
  • Patent number: 8572585
    Abstract: The present invention extends to methods, systems, and computer program products for representing various programming elements with compiler-generated tasks. Embodiments of the invention enable access to the future state of a method through a handle to a single and composable task object. For example, an asynchronous method is rewritten to generate and return a handle to an instance of a builder object, which represents one or more future states of the asynchronous method. Information about operation of the asynchronous method is then passed through the handle. Accordingly, state of the asynchronous method is trackable prior to and after completing.
    Type: Grant
    Filed: June 16, 2011
    Date of Patent: October 29, 2013
    Assignee: Microsoft Corporation
    Inventors: Stephen Harris Toub, Mads Torgersen, Lucian Jules Wishchik, Anders Hejlsberg, Dmitry Lomov, Matthew J. Warren, Robert Eric Lippert
  • Publication number: 20120324457
    Abstract: The present invention extends to methods, systems, and computer program products for representing various programming elements with compiler-generated tasks. Embodiments of the invention enable access to the future state of a method through a handle to a single and composable task object. For example, an asynchronous method is rewritten to generate and return a handle to an instance of a builder object, which represents one or more future states of the asynchronous method. Information about operation of the asynchronous method is then passed through the handle. Accordingly, state of the asynchronous method is trackable prior to and after completing.
    Type: Application
    Filed: June 16, 2011
    Publication date: December 20, 2012
    Applicant: Microsoft Corporation
    Inventors: Stephen Harris Toub, Mads Torgersen, Lucian Jules Wischik, Anders Hejlsberg, Dmitry Lomov, Matthew J. Warren, Robert Eric Lippert
  • Patent number: 7873592
    Abstract: Systems and methods facilitate type inference in a computer-programming environment. Type inference can be applied to generic method or function invocation in object-oriented languages to determine a type argument list left implicit by a programmer. One or more type arguments can be identified as a parameter type to which all other types in a set of associated parameter types can be converted.
    Type: Grant
    Filed: April 20, 2007
    Date of Patent: January 18, 2011
    Assignee: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, Gavin Bierman, Mads Torgersen, Anders Hejlsberg, Danny Van Velzen, Peter A. Hallam, Robert Eric Lippert, Matthew J. Warren, Paul A. Vick, Amanda Silver
  • Publication number: 20100299660
    Abstract: 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.
    Type: Application
    Filed: May 21, 2009
    Publication date: November 25, 2010
    Applicant: Microsoft Corporation
    Inventors: Mads Torgersen, Anders Hejlsberg, James J. Hugunin, Matthew J. Warren, Neal Gafter, Lucian Jules Wischik, Robert Eric Lippert, Samuel Y. Ng, Christopher Joseph Burrows, Alex C. Turner
  • Publication number: 20080262992
    Abstract: Systems and methods facilitate type inference in a computer-programming environment. Type inference can be applied to generic method or function invocation in object-oriented languages to determine a type argument list left implicit by a programmer. One or more type arguments can be identified as a parameter type to which all other types in a set of associated parameter types can be converted.
    Type: Application
    Filed: April 20, 2007
    Publication date: October 23, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, Gavin Bierman, Mads Torgersen, Anders Hejlsberg, Danny Van Velzen, Peter A. Hallam, Robert Eric Lippert, Matthew J. Warren, Paul A. Vick, Amanda Silver