1. A method for supporting context-dependent expression compilation in a programming language environment operating on one or more microprocessors, comprising: providing a context object that operates to compile an expression in at least one of a plurality of programming contexts encapsulated by the context object; deriving, via the context object, a target type associated with the expression, wherein the target type associated with the expression is dependent on the at least one of a plurality of programming contexts; deriving a function descriptor for the target type; and performing, via the context object, a compatibility check for the expression in the programming language environment including checking whether any type associated with the expression is consistent with the function descriptor for the target type.