Patent ID: 8024704

Claim:
A method implemented within a computer system that includes one or more processors and memory storing instructions which, when executed by the one or more processors, implement the method for facilitating dynamic programming language execution in a managed code environment in a type-safe manner by processing tagged type values generated from dynamic programming languages in accordance with a class framework and rules, in lieu of treating the tagged values as boxed variables, the method comprising: an act of a computer system, which includes one or more processors, defining a bifurcated class structure in an inheritance hierarchy, which defines tagged types used by dynamic programming languages executable in a managed code environment, the bifurcated class structure comprising: an abstract root type class forming a root of the bifurcated class structure, which defines one or more uppermost elements of type top that represent completely opaque, natural size values; a sealed tagged type class that defines one or more elements of type tagged, wherein the tagged type class is nested below the root type class on a first branch in the bifurcated class structure; and a System.Object type class that defines non-tagged element types, wherein the System.Object type class is nested below the root type class on a second branch in the bifurcated class structure; an act of the computer system defining one or more metadata validation rules that disallow inheritance from top element types and tagged element types, thereby ensuring that non-tagged element types do not derive or inherit properties from tagged element types or top element types; and an act of a computer system executing at least one instruction for a tagged type member, while ensuring that at least one non-tagged type member does not derive or inherit properties from at least one tagged type member, in accordance with the one or more metadata validation rules.