Standards and Tools for Eiffel-based Components
While Eiffel appears to be an ideal language for building libraries, it has not developed a standard for distributing binary components. Today, the most common way of distributing Eiffel libraries is as source code, for Eiffel compilers.
At the same time, other languages heavily leverage the distribution of binary components. This is true for both open source and proprietary software.
I'd like to see some emphasis placed on standards and tools to make it easier to distribute binary components written in Eiffel. Among the problems that need to be addressed are issues of data interchange, what to do with MI, exception handling, and multithreading.
One possible starting place: for binary Eiffel library, designate for the compiler an "export" cluster. This cluster contains the root classes for the library. Constraints may be placed on these classes to ease integration with other languages. For example, members of the cluster may not be implemented with MI. The public interface for the classes may only reference other classes within the cluster, or primitive data types.