2015-11-09 10:21 GMT+01:00 Thierry Goubier <thierry.goubier@gmail.com>:
2015-11-09 8:07 GMT+01:00 stepharo <stepharo@free.fr>:
mariano did you try the tool developed by mark rizun?
I believe what he's looking for is past Mark tool capabilities for now. Mark tool is something to invest on, certainly.
But a small state of the art study on 'generalising refactorings' and related wouldn't hurt.
because I always fail to get the expression correct. We spent some times trying to document the pattern language but to us it is not really coherent.
I just asked John and he described a lot ;)
Jean-Christophe was expert in parse tree rewriting and he got lost.
I think RB is the oldest and probably the most powerful refactoring rewriting engine out there one can have a free access to (excluding general program transformation frameworks, but I consider those to be different beasts).
Research afterwards decided that it should be considered a subset of model transformations and I think the know-how on such engines was lost. It doesn't help that it wasn't well published (the same goes with the DMS toolkit).
As a point of interest, I'd be really happy to see how my example for Mariano would be written in more modern systems. Jean-Christophe, could you show us how that would be in Tom, the language referenced in [1] ? (i.e. if a selector contains 'oldSelector' in its name, to rewrite it with the substring 'oldSelector' replaced by 'newSelector', everywhere in the source code) Thierry [1] Ali Afroozeh, Jean-Christophe Bach, Mark Van den Brand, Adrian Johnstone, Maarten Manders, et al.. Island Grammar-based Parsing using GLL and Tom. *5th International Conference on Software Language Engineering - SLE 2012*, Sep 2012, Dresden, Germany. 2012
There is a chapter in PharoInProgress.
We are prototyping alternatives because we need better tools.
And for that, I'd say you're in for a lot of investment to beat Don Roberts and John Brant (not forgetting they were not alone at that time).
Note that an extension of Mark tool would make new users and power users able to benefit immensely from the power of RB, and bring true progress on the usability of refactoring engines.
Side note: John Brant is taking about RB and SmaCC at Smalltalks: use that occasion to ask questions!
Thierry