Browsing in Explicit Metaclass Languages : An Essay in Reflective Programming Environments Francois Rousseau, Jacques Malenfant Universite de Montreal C.P. 6128, Succursale A Montreal, Canada, H3C 3J7 e-mail: {rousseaf, malenfan}@iro.umontral.ca Abstract The development of adapted programming environments is mandatory in order to deliver reflective languages to real world users. It is generally assumed that reflection aids in the development of programming environments. However, its use may also give rise to certain difficulties. For example, it prevents programming tools from making strong assumptions about language structure and semantic. Our paper tackles this rather large problem by concentrating on the case of the browser in the context of explicit metaclasses. We first propose a new browser architecture that is better adapted to explicit metaclass languages. The new browser uses a decentralized approach to manage information related to the internal structure of classes. The decentralized approach involves the use of third-party objects named Descriptors, which provide individual class representations. Next we implement this architecture in Classtalk under VisualWorks. The VisualWorks interface generator is used to assist metaclass designers with the task of incorporating descriptors for new class structures into the browser. This latter is effective on several ClassTalk metaclasses as, for example, on a CombinationClass, which has three method dictionaries.