The extensible set language (ESL) uses clusters for extending the set oriented language and for mapping the sets and their operators into base language data structure and operators. The main difficulty in this mapping is the dependency among clusters, i.e., the use of one data structure requires the modification or the constraint of another. The dialogue is a compile time procedure which is part of a cluster. It manipulates data structures and enables each cluster to appear independent; it also enables the user to choose one of a family of data implementations defmed by the cluster. Thus the dialogue makes it possible for a data structure to appear as a building block which can be used simply and flexibly.