Le 04/07/2012 15:58, Damien Cassou a écrit :
On Wed, Jul 4, 2012 at 3:54 PM, Dennis Schetinin <chaetal@gmail.com> wrote:
I think of storing objects that represent operations I applied to my program: an ivar was renamed, a piece of code was extracted as a method, a method was moved to another class, etc. And those *live objects* can have a behavior that allows them to be applied to another program. This way I can think of applying other users' modifications to the code I've already modified: e.g., I've just renamed the same ivar (among other changes I don't want to loose), but the name my coworker invented was better and I want to apply that *particular* change.
you have semantic patches for that. See coccinelle http://coccinelle.lip6.fr/sp.php
Have you really tried to write patches in Smpl for Coccinelle to say that ? Smpl is great, but for a broken developement model. How do you think you manage conditional code (#ifdef and friends) with tools like that ? It's a lot easier to do semantic actions on source code when you have a nice semantic layer on top of it (as Smalltalk provides). I don't think you will find equivalents. You will find work-arounds on text-based systems which may fit. Thierry -- Thierry Goubier CEA list Laboratoire des Fondations des Systèmes Temps Réel Embarqués 91191 Gif sur Yvette Cedex France Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95