Jacques Garrigue. In Workshop on Foundations of Software Engineering. Sasaguri, Japan, November 2000. Abstract. Their support for code reuse has made object-oriented languages popular. However, they do not succeed equally in all areas, particularly when data has a complex structure, making hard to keep the parallel between data and code. On the other hand, functional programming languages, which s