Hi Mitch: thank you for your interesting report. I am alreeady thinking in terms of applications of your results I have the following questions: Do coproducts support nesting of visitor objects? Are coproducts operationally equivalent to the selective visitor pattern? In selective visitor, we have before/after methods for both nodes and edges. And we only have methods for the interesting classes. What is known about coproducts which helps with visitor programming? With visitors we use the BEHAVIOR UNTANGLING LAW (BUL). Each little behavior is localized in a visitor. See the example you suggested in: /proj/adaptive/www/course/f97/hw/2/capacity-with-stack/statistics.beh Behaviors are composed by nesting visitors. Will recursion operators help us to understand the issues of reusing visitors and adaptive programs with different class graphs? Or what kind of help can we expect from recursion operators? Regarding a module system for AP, I have the following practical requirements: 1. Allows us to break Demeter/Java into modular units. Currently the system is compiled as a whole (about 180 classes). Need modular units both for the class graphs as well as for the adaptive programs. 2. Supports interface class graphs which shield strategies from low-level details. 3. Supports layered adaptive systems where the layers are loosely coupled through strategies. -- Karl From wand@ccs.neu.edu Mon Sep 29 09:27:42 1997 From: Mitchell Wand To: Karl Lieberherr Subject: DARPA report needed Ahh-- once in a while I actuallly get you a progress report on time!! --Mitch Professor Wand has begun a study of the mathematical foundations of AP. His approach is to study the visitor pattern from a type-theoretic point of view. Preliminary evidence indicates that the visitor pattern is observationally equivalent to a coproduct. He is working to flesh out this observation by detailing the assumptions under which it holds. A second goal is to understand the relation between visitors and traditional recursion operators, using monads as a technical device. With Johan Ovlinger, he is working on incorporating traversals into the SML module system as a first step towards introducing a module system and formal information-hiding concepts into AP.