Existing approaches to object encapsulation either rely on ad hoc syntactic restrictions or require the use of specialised type systems. Syntactic restrictions are difficult to scale and to prove correct, while specialised type systems require extensive changes to programming languages. We demonstrate that confinement can be enforced cheaply in Featherweight Generic Java, with no essential change to the underlying language or type system. This result demonstrates that polymorphic type parameters can simultaneously act as ownership parameters and should facilitate the adoption of confinement and ownership type systems in general-purpose programming languages.

Additional Metadata
Persistent URL dx.doi.org/10.1017/S0956796806006125
Journal Journal of Functional Programming
Potanin, A. (Alex), Noble, J. (James), Clarke, D. (Dave), & Biddle, R. (2006). Featherweight generic confinement. Journal of Functional Programming, 16(6), 793–811. doi:10.1017/S0956796806006125