Patent ID: 8196121

Claim:
A method for extending functionality of a compiler, the method comprising: using a processor device configured to perform: receiving a first source file written in a language that supports multiple type systems, wherein the first source file comprises a plurality of source constructs associated with parameter types from the multiple type systems; creating a tuple in the first source file; annotating each of the plurality of source constructs with the tuple, the tuple comprising: a type system from one of the multiple type systems; a precise parameter type to which its associated type system belongs; and an encoded parameter associated with type system rules; retrieving the type system rules from a type system loader, the type system rules corresponding to each type system referred to in the first source file; verifying, using the type system rules, that instances of use of variables, expressions, and methods in the first source file are appropriate with respect to the type system of annotated types associated with the plurality of source constructs for extending functionality of the compiler; and compiling the first source file to produce a second source file comprising type information retained from the first source file.