Designing a programming environment raises difficult implementation problems since such software is not just one piece of code able to execute programs expressed in a given programming language, but consists generally of several heterogeneous tools. The idea behind a data exchange format is to provide a common representation for the interconnection of these different tools. Moreover, an exchange format is a way to handle programs like any kind of objects in the programming language, and so it is useful for instance in the context of the reflection problem. In this paper, we report our experiments with the current exchange format created and used by the actual implementation of the rule-based programming language ELAN.