If an object oriented program is a collection of communicating objects, then the objects' protocols de ne the languages the program speaks. Unfortunately, protocols are di cu...
In Java, an interface specifies public abstract methods and associated public constants. Conformance of a class to an interface is by name. We propose to allow structural conforma...