An Interface Description Language (IDL) is a specification language that:
- is a declarative language
- does not describe the implementation
- allows for procedures written in a language to be executed by another language
- allows to define data types
- allows to define function prototypes
It is commonly used with Remote Procedure Call.