CPC G06F 8/37 (2013.01) [G06F 8/41 (2013.01)] | 20 Claims |
1. A system configured to convert human-readable source code into computer-readable source code, the system comprising a processor and a memory configured to store a compiling engine that, when executed by the processor, causes the processor to:
receive an input program comprising human-readable source code, wherein the human-readable source code comprises a complex function comprising a type unstable variable;
type inference the complex function to infer a first set of undefined data types for the variables in the input program;
transform the type inferenced complex function by inferring types a number of times, wherein the number of times is based, at least in part, on the number of typing issues of the program associated with the input program, and wherein each transformation comprises replacing operations with typing issues and forcing the unstable variable to be constant in the function, wherein each typing issue of the number of typing issues comprises a variable that cannot be assigned a precise type;
type inference the transformed complex function, thereby inferring a full set of precise data types for the unstable variable; and
generate an output program comprising machine-readable code, wherein the machine-readable code is fully optimized using the full set of precise data types.
|