@InProceedings{sch-iclp-97, author = {Peter Schachte}, title = {Global Variables in Logic Programming}, booktitle = {Logic Programming: Proceedings of the Fourteenth International Conference on Logic Programming.}, year = {1997}, editor = {Lee Naish}, pages = {3--17}, publisher = {MIT Press}, address = {Cambridge, USA}, month = {July}, isbn = {0-262-64035-X}, abstract = {We show that adding global variables to logic programming can solve some common problems of reliability and programmer productivity in large logic programs. By presenting a formal semantics for logic programs with global variables, we show that this addition retains a clean semantics. This addition has the consequences that conjunction is neither commutative nor absorptive, but we show that the practical loss is small. We also describe an implementation of Prolog with global variables as a translator to ordinary Prolog which preserves the efficiency of the Prolog program, while statically detecting some programming errors, and avoiding others altogether.} }