Hi Patrick: there is not a centralized list of talks in the Boston area. But when the time comes closer, I will forward some announcements to you. Let's discuss the issues you raise when you are here. Best regards, -- Karl >From patrikj@cs.chalmers.se Tue Apr 7 16:01:02 1998 >Reply-To: Patrik Jansson >To: Karl Lieberherr >cc: dem@ccs.neu.edu, johanj@cs.chalmers.se >Subject: Re: Polytypic and Adaptive > >[Sorry about the late answer - I was on vacation.] > >On Fri, 27 Mar 1998, Karl Lieberherr wrote: >> 1+2. We promote the same useful idea: >> Programming language constructs to write programs which can operate >> on vastly different data types. >> Polytypic for FP, adaptive for OOP >I fully agree, and I think there ought to be opportunities for both >approaches to benefit from one another. I have just read > "Traversals of Object Structures: Specification and > Efficient Implementation" >and I have skimmed two similar papers earlier. I am not very good at OOP >but it seems that the class graph plays a similar role in OOP as a >recursive datatype (or rather a group of mutually recusive datatypes) does >in FP. > >> 3. It seems to me that the Polytypic work can benefit from the concept >> of strategies for better high-level control. >[...] >> length :: d a -> Int {via x to a} >> where d ranges over type constructors using x and a. >> length is undefined if the actual parameter for d does not use x and a >> and there is no "path" from the current type through x to a. > >Such a generalisation is indeed possible, but I think that a more >natural solution for selectively traversing some parts of a structure in a >FP language is to pass around a predicate (pred :: d a -> Bool). This can >be done polytypically (using a paramorphism) and of course, defining a >predicate that avoids paths with x in is not difficult. > >> 4. We are currently working on visitors and adjusters which are >> parameterized by strategies. They are polytypic components which >> can be composed and maybe the polytypic framework you have >> can be used to formalize elegantly visitors and adjusters. >In the Functional polytypic setting a visitor is a catamorphism (or a >paramorphism) and an adjuster probably corresponds to a map. > >> I was wondering how the ideas in PolyP can be best applied to oo >> languages, like Java. >Me too ;-) > >In spite of the obvious differences [most notably in language semantics >and type systems], there ought to be a number of ideas that could be >carried over to OOP. I will try to identify some similarities and >differences before the talk so that we can discuss it in Boston. >As it look right now I will stay in Boston for the rest of the week >after my wednesday talk, so that should give me a possibility to talk to >you, and others at NEU, (and perhaps at BU, MIT). Maybe you know of other >talks or meetings I could attend when I happen to be in Boston? > >Patrik Jansson > > >