Refactoring is an established technique from the object-oriented (OO) programming community to restructure code: it aims at improving software readability, maintainability, and extensibility. Although refactoring is not tied to the OO-paradigm in particular, its ideas have not been applied to logic programming until now. This paper applies the ideas of refactoring to Prolog programs. A catalogue is presented listing refactorings classified according to scope. Some of the refactorings have been adapted from the OO-paradigm, while others have been specifically designed for Prolog. The discrepancy between intended and operational semantics in Prolog is also addressed by some of the refactorings. In addition, ViPReSS, a semi-automatic refactori...
Program changes take up a substantial part of the entire programming effort. Often a preliminary ste...
Program changes take up a substantial part of the entire programming effort. Often a preliminary ste...
Program changes take up a substantial part of the entire programming effort. Often a preliminary ste...
Refactoring is an established technique from the object-oriented (OO) programming community to restr...
Refactoring is an established technique from the object-oriented (OO) programming community to restr...
Refactoring is an established technique from the object-oriented (OO) programming community to restr...
Refactoring is an established technique from the object-oriented (OO) programming community to restr...
Refactoring is an established technique from the OO-community to restructure code: it aims at improv...
Refactoring is an established technique from the OO-community to restructure code: it aims at improv...
Refactoring is an established technique from the OO-community to restructure code: it aims at improv...
Refactoring is an established technique from the OO-community to restructure code: it aims at improv...
Abstract. Refactoring is an established technique from the OO-community to restructure code: it aims...
Refactoring is an established technique from the OO-community to restructure code: it aims at improv...
Abstract. Refactoring is a popular technique from the OO-community to re-structure code: it aims at ...
Refactoring is a popular technique from the OO-community to restructure code: it aims at improving s...
Program changes take up a substantial part of the entire programming effort. Often a preliminary ste...
Program changes take up a substantial part of the entire programming effort. Often a preliminary ste...
Program changes take up a substantial part of the entire programming effort. Often a preliminary ste...
Refactoring is an established technique from the object-oriented (OO) programming community to restr...
Refactoring is an established technique from the object-oriented (OO) programming community to restr...
Refactoring is an established technique from the object-oriented (OO) programming community to restr...
Refactoring is an established technique from the object-oriented (OO) programming community to restr...
Refactoring is an established technique from the OO-community to restructure code: it aims at improv...
Refactoring is an established technique from the OO-community to restructure code: it aims at improv...
Refactoring is an established technique from the OO-community to restructure code: it aims at improv...
Refactoring is an established technique from the OO-community to restructure code: it aims at improv...
Abstract. Refactoring is an established technique from the OO-community to restructure code: it aims...
Refactoring is an established technique from the OO-community to restructure code: it aims at improv...
Abstract. Refactoring is a popular technique from the OO-community to re-structure code: it aims at ...
Refactoring is a popular technique from the OO-community to restructure code: it aims at improving s...
Program changes take up a substantial part of the entire programming effort. Often a preliminary ste...
Program changes take up a substantial part of the entire programming effort. Often a preliminary ste...
Program changes take up a substantial part of the entire programming effort. Often a preliminary ste...