FAST DISPATCH PREDICATE FOR OVERLOADED FUNCTIONS WITH GENERIC TYPE HIERARCHIES THAT LACK CONTRAVARIANCE
First Claim
1. A computer-implemented method for facilitating the development and execution of a software program, comprising:
- during runtime of the software program, obtaining a function call associated with an overloaded function and a generic type hierarchy that lacks contravariance;
determining an applicability of an implementation of the overloaded function to the function call; and
selecting the implementation for invocation by the function call based on the determined applicability and a partial order of implementations for the overloaded function.
1 Assignment
0 Petitions
Accused Products
Abstract
The disclosed embodiments provide a system that facilitates the development and execution of a software program. During runtime of the software program, the system obtains a function call associated with an overloaded function and a generic type hierarchy that lacks contravariance. Next, the system determines an applicability of an implementation of the overloaded function to the function call. Finally, the system selects the implementation for invocation by the function call based on the determined applicability and a partial order of implementations for the overloaded function.
15 Citations
20 Claims
-
1. A computer-implemented method for facilitating the development and execution of a software program, comprising:
-
during runtime of the software program, obtaining a function call associated with an overloaded function and a generic type hierarchy that lacks contravariance; determining an applicability of an implementation of the overloaded function to the function call; and selecting the implementation for invocation by the function call based on the determined applicability and a partial order of implementations for the overloaded function. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for facilitating the development and execution of a software program, comprising:
-
a compilation manager for the software program; and a runtime system for the software program, wherein the compilation manager and the runtime system are configured to; obtain a function call associated with an overloaded function and a generic type hierarchy that lacks contravariance; determine an applicability of an implementation of the overloaded function to the function call; select the implementation for invocation by the function call based on the determined applicability and a partial order of implementations for the overloaded function; and perform type inference on one or more generic type parameters of the implementation. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for facilitating the development and execution of a software program, the method comprising:
-
during runtime of the software program, obtaining a function call associated with an overloaded function and a generic type hierarchy that lacks contravariance; determining an applicability of an implementation of the overloaded function to the function call; and selecting the implementation for invocation by the function call based on the determined applicability and a partial order of implementations for the overloaded function. - View Dependent Claims (17, 18, 19, 20)
-
Specification