Patents by Inventor Gavin Bierman

Gavin Bierman 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: 8949784
    Abstract: An efficient, logical and expressive type system is provided for flexibly defining types of a declarative programming language so that efficient and structurally compact data intensive applications can be generated. The type system supports the combination of refinement types and type membership expressions, as well as a top type that encompasses all valid values as members. With the type system, types can be expressed as intersections and/or unions of other types. Thus, types can be efficiently represented for a full range of types of data as may be found in real world data stores.
    Type: Grant
    Filed: October 3, 2008
    Date of Patent: February 3, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David E. Langworthy, Gavin Bierman, Andrew D. Gordon, Donald F. Box, Bradford H. Lovering, Jeffrey C. Schlimmer, John D. Doty
  • Patent number: 8762942
    Abstract: An efficient, logical and expressive type system supports the combination of refinement types and type membership expressions, as well as a top type that encompasses all valid values as members. A bidirectional type checking algorithm is provided for the type system including synthesis and checking steps to statically verify types of code based on the type system.
    Type: Grant
    Filed: October 3, 2008
    Date of Patent: June 24, 2014
    Assignee: Microsoft Corporation
    Inventors: David E. Langworthy, Gavin Bierman, Andrew D. Gordon, Donald F. Box, Bradford H. Lovering, Jeffrey C. Schlimmer, John D. Doty
  • Patent number: 8413119
    Abstract: An efficient, logical and expressive type system supports the combination of refinement types and type membership expressions, as well as a top type that encompasses all valid values as members. Various embodiments verify the validity of subtyping relationships by translating to first-order logic, and invoking a general-purpose theorem prover with the first-order logic as input. In contrast to treating formulas as types, types are translated into formulas of standard first-order logic. Moreover, to represent data structures of the programming language as first-order logic, universal and existential quantifiers of first-order logic, and function symbols in terms, are exploited. Data intensive applications can be generated, verified, and deployed with greater speed and scale.
    Type: Grant
    Filed: October 3, 2008
    Date of Patent: April 2, 2013
    Assignee: Microsoft Corporation
    Inventors: David E. Langworthy, Gavin Bierman, Andrew D. Gordon, Donald F. Box, Bradford H. Lovering, Jeffrey C. Schlimmer, John D. Doty
  • Publication number: 20120047495
    Abstract: An execution environment is created or extended to include support for coroutines to facilitate reactive programming. Utilizing functionality provided by an execution environment, such as a virtual machine, additional operations are derived to enable creation, invocation, and suspension of coroutines.
    Type: Application
    Filed: August 18, 2010
    Publication date: February 23, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, Gavin Bierman
  • Patent number: 7912863
    Abstract: A set of syntactic extensions that are compiled with a type-directed translation method to facilitate lifting member access on base types to a newly constructed type. The extensions are processed with a type system that facilitates seamless data access to relational and semi-structured data in an object oriented host language.
    Type: Grant
    Filed: July 30, 2004
    Date of Patent: March 22, 2011
    Assignee: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, Wolfram Schulte, Gavin Bierman
  • 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
  • Patent number: 7774376
    Abstract: A type system that facilitates seamless integration of data access to relational and semi-structured data in an object oriented host language. A data access component includes the type system and corresponding set of syntax constructions that facilitates coercive subtyping and restricts covariance to identity conversions.
    Type: Grant
    Filed: July 30, 2004
    Date of Patent: August 10, 2010
    Assignee: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, Wolfram Schulte, Gavin Bierman
  • Publication number: 20100192129
    Abstract: An efficient, logical and expressive type system supports the combination of refinement types and type membership expressions, as well as a top type that encompasses all valid values as members. Various embodiments verify the validity of subtyping relationships by translating to first-order logic, and invoking a general-purpose theorem prover with the first-order logic as input. In contrast to treating formulas as types, types are translated into formulas of standard first-order logic. Moreover, to represent data structures of the programming language as first-order logic, universal and existential quantifiers of first-order logic, and function symbols in terms, are exploited. Data intensive applications can be generated, verified, and deployed with greater speed and scale.
    Type: Application
    Filed: October 3, 2008
    Publication date: July 29, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: David E. Langworthy, Gavin Bierman, Andrew D. Gordon, Donald F. Box, Bradford H. Lovering, Jeffrey C. Schlimmer, John D. Doty
  • Publication number: 20100088661
    Abstract: An efficient, logical and expressive type system is provided for flexibly defining types of a declarative programming language so that efficient and structurally compact data intensive applications can be generated. The type system supports the combination of refinement types and type membership expressions, as well as a top type that encompasses all valid values as members. With the type system, types can be expressed as intersections and/or unions of other types. Thus, types can be efficiently represented for a full range of types of data as may be found in real world data stores.
    Type: Application
    Filed: October 3, 2008
    Publication date: April 8, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: David E. Langworthy, Gavin Bierman, Andrew D. Gordon, Donald F. Box, Bradford H. Lovering, Jeffrey C. Schlimmer, John D. Doty
  • Publication number: 20100088679
    Abstract: An efficient, logical and expressive type system supports the combination of refinement types and type membership expressions, as well as a top type that encompasses all valid values as members. A bidirectional type checking algorithm is provided for the type system including synthesis and checking steps to statically verify types of code based on the type system.
    Type: Application
    Filed: October 3, 2008
    Publication date: April 8, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: David E. Langworthy, Gavin Bierman, Andrew D. Gordon, Donald F. Box, Bradford H. Lovering, Jeffrey C. Schlimmer, John D. Doty
  • 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