|
|
|
|
|
|
|
|
|
|
|
# Examples of transformations supported by our tool
|
|
|
|
|
|
**Warning**: the most up-to-date versions are available for download at the bottom of this page.
|
|
|
|
|
|
## Evaluator example based on the expression problem
|
|
|
|
|
|
We take the classical example of evaluator coming with the expression problem and we show that we can switch from one view to another with our tool.
|
|
|
|
|
|
* A [first implementation of this example](expression_problem) (version 0.1) where each single refactoring operation appears in the transformation script.
|
|
|
* A [second implementation](expression_problem_chains_0_3) (version 0.3) where the script does not depend on the data-type, and some chains of operations are grouped into a single View Switcher instruction.
|
|
|
* A [scenario of evolution](expression_problem_scenario_0_3) with several extensions and maintenance operations.
|
|
|
|
|
|
## Parnas' KWIC program (from Griswold's description).
|
|
|
|
|
|
We re-implement Griswold's example of program restructuring in order to change the primary axis of modularity (example coming form Parnas).
|
|
|
|
|
|
See the [page for this example](kwic).
|
|
|
|
|
|
Reference : W. G. Griswold, "Program Restructuring as an Aid to Software Maintenance", Ph.D. Thesis, Technical Report 91-08-04, Department of Computer Science and Engineering, University of Washington, July 1991.
|
|
|
|
|
|
## A more complete example : Augustsson's lambda-cube.
|
|
|
|
|
|
We apply our tool to a program available on the HackageDB public repository : the lambda cube.
|
|
|
See the [page for this example](lambda_cube) (the archive given below on this page is currently more up-to-date than the description page). |