Subject: Re: The Essence of Strategic Programming
From: Karl Lieberherr (karllieberherr@attbi.com)
Date: Sun Sep 15 2002 - 11:17:53 EDT
Hi Ralf:
in DJ we have a flavor of generic traversal schemes in that we can
write a Java method like:
Object genericTraversalScheme(TraversalGraph traversalGraph){
return classGraph.traverse(this, traversalGraph, new Visitor() {...});
}
We can call this TraversalScheme with any traversal graph compatible
with the Visitor (and classGraph).
-- Karl
----- Original Message -----
From: "Ralf Laemmel" <Ralf.Laemmel@cwi.nl>
To: "Karl Lieberherr" <lieber@ccs.neu.edu>
Cc: <dem@ccs.neu.edu>; <Joost.Visser@software-improvers.com>;
<visser@cs.uu.nl>
Sent: Saturday, September 14, 2002 6:58 AM
Subject: Re: The Essence of Strategic Programming
> Karl Lieberherr wrote:
>
> > A more accessible paper on Strategic Programming
> > from the Dutch team. How could our tools, such as DAJ,
> > benefit from those ideas?
>
> Sorry to bother you.
>
> We are just proof-reading the draft
> and we realize that choosing the term
> 'maturity levels' for traversal control
> in the related work section might sound
> offending.
>
> We will improve the wording and presentation
> before submission.
>
> Clearly, the Demeter approach is well-designed
> and the kind of expressiveness is well chosen.
> The fact that it lives at a different
> 'maturity' level than our approach simply
> reflects that generic traversal schemes
> have not been an issue in your setting so far.
> Is that right?
>
> As the OOPSLA 99 paper by Ovlinger and Wand
> nicely illustrates there is even a good reason
> to further reduce the structure shyness of
> the Demeter approach. So we should really not
> talk about maturity.
>
> BTW, this insight also made me realize
> that we seem to use the term 'robustness'
> in the wrong manner. Obviously, in general,
> robustness means that software is well-behaved
> in the context of border-line or illegal
> inputs. It is probably fair to say that the
> aforementioned OOPSLA 99 paper suggests that
> robustness means that a component does not
> break even if the class structure changes, say,
> there are no surprises, no strange paths.
>
> We should probably not use the term in a sense
> that a traversal component does not need to be
> revised just because it does not mention any
> irrelevant types and constructors. We should
> better call this property tolerance or liberal
> traversal.
>
> Regards,
> Ralf
>
> > >From ralf@cwi.nl Tue Sep 10 05:52:13 2002
> > >Delivered-To: lieber@ccs.neu.edu
> > >Date: Tue, 10 Sep 2002 11:52:00 +0200
> > >From: Ralf Laemmel <Ralf.Laemmel@cwi.nl>
> > >To: Karl Lieberherr <lieber@ccs.neu.edu>
> > >Cc: Eelco Visser <visser@cs.uu.nl>,
> > > Joost Visser <Joost.Visser@software-improvers.com>
> > >Subject: The Essence of Strategic Programming
> >
> > >Dear Karl,
> > >
> > >please feel free to forward this to the Demeter collaborators.
> > >
> > >I entirely rewrote the essence paper with the focus on the
> > >actual essence at an abstract level. This was
> > >triggered by the feedback we got from the WCGP, in discussions
> > >with you and others. The new much shorter paper does not
> > >discuss the incarnations and other traversal approaches in
> > >depth but this material is scattered elsewhere anyway.
> > >
> > >http://www.cwi.nl/~ralf/lvv02/
> > >
> > >We would be very grateful for any further comments you
> > >might have.
> > >
> > >Regards,
> > >Ralf
> > >
> > >--
> > >Dr.-Ing. Ralf Laemmel
> > >CWI & VU, Amsterdam, The Netherlands
> > >http://www.cwi.nl/~ralf/
> > >http://www.cs.vu.nl/~ralf/
> > >
>
> --
> Dr.-Ing. Ralf Laemmel
> CWI & VU, Amsterdam, The Netherlands
> http://www.cwi.nl/~ralf/
> http://www.cs.vu.nl/~ralf/
This archive was generated by hypermail 2b28 : Sun Sep 15 2002 - 11:11:22 EDT