Patent ID: 8843906

Claim:
A computer-implemented method of compiling code, the method comprising: defining a callable compilable unit of code in source code, the callable compilable unit of code having an argument as an input, passing information about an attribute of the argument to a compiler, wherein: the source code is free of the passed information, and the attribute is selected from a group consisting of a numeric data type, a complexity, and a number of dimensions, and the passing information comprises one of: passing an example of the argument to the compiler and inferring, using the compiler, at least one of the numeric data type of the argument, the complexity of the argument, or the number of dimensions of the argument from the example of the argument, or passing an object holding the information about the attribute of the argument to the compiler and retrieving, using the compiler, at least one of the numeric data type of the argument, the complexity of the argument, or the number of dimensions of the argument from the object; and calling the compiler to compile the callable compilable unit of code into a target language to produce target language code, the target language code interpreting the argument using the numeric data type of the argument, the complexity of the argument, or the number of dimensions of the argument.