# Eiffel Language |

In order to achieve Eiffel compiler interoperability, it is not necessarily required to strictly follow the Eiffel standard. Some compilers indeed have bugs, do not interpret the standard in the same way as others (be it because of ambiguities in the standard itself or not), or have implementation limitations. Therefore the Eiffel dialect used in Gobo Eiffel is likely to be a subset of the official Eiffel standard.

On the contrary, constructs which have not been officially adopted by NICE yet but which are already supported by all Eiffel compilers can be used in Gobo Eiffel. This is for example the case for the `Precursor` construct. However it is clear that an Eiffel extension can be used in Gobo Eiffel only if it is supported by all Eiffel compilers. Therefore the `agent` construct introduced in ISE Eiffel should not be used at the moment.

Differences between the supported Eiffel compilers which have been already noticed, along with workarounds when available, will be listed on-line in order to help others to avoid making the same mistakes by using these non-portable Eiffel constructs.