It has always been challenging research topics to lay solid foundations such as formal semantics and type systems for object-oriented programming languages. It is challenging because advanced language constructs for high-level abstraction have inherent (and often unintended) complexity and the interaction caused by their combinations can be very wild. One effective approach to the complexity and wildness is to focus only on a relevant language core, which makes the problem tractable. This talk will discuss benefits and also limitations of such a "featherweight" approach to foundations of object-oriented languages (FOOL), along with a review of my work in this research area, and draw some lessons I've learned to make it work.
['Atsushi Igarashi']
A featherweight approach to FOOL