A simple code improvement scheme for prolog

Research output: Contribution to journalArticle

7 Citations (Scopus)

Abstract

The generation of efficient code for Prolog programs requires sophisticated code transformation and optimization systems. Much of the recent work in this area has focused on high level transformations, typically at the source level. Unfortunately, such high level transformations suffer from the deficiency of being unable to address low level implementation details. This paper presents a simple code improvement scheme that can be used for a variety of low level optimizations. Applications of this scheme are illustrated using low level optimizations that reduce tag manipulation, dereferencing, trail testing, envi- ronment allocation, and redundant bound checks. The transformation scheme serves as a unified framework for reasoning about a variety of low level optimizations that have, to date, been dealt with in a more or less ad hoc manner.

Original languageEnglish (US)
Pages (from-to)57-88
Number of pages32
JournalJournal of Logic Programming
Volume13
Issue number1
DOIs
StatePublished - 1992
Externally publishedYes

Fingerprint

Prolog
Optimization
Manipulation
Reasoning
Testing

ASJC Scopus subject areas

  • Logic

Cite this

A simple code improvement scheme for prolog. / Debray, Saumya K.

In: Journal of Logic Programming, Vol. 13, No. 1, 1992, p. 57-88.

Research output: Contribution to journalArticle

@article{338b6b8de59d4bdaa51e142f272e72bb,
title = "A simple code improvement scheme for prolog",
abstract = "The generation of efficient code for Prolog programs requires sophisticated code transformation and optimization systems. Much of the recent work in this area has focused on high level transformations, typically at the source level. Unfortunately, such high level transformations suffer from the deficiency of being unable to address low level implementation details. This paper presents a simple code improvement scheme that can be used for a variety of low level optimizations. Applications of this scheme are illustrated using low level optimizations that reduce tag manipulation, dereferencing, trail testing, envi- ronment allocation, and redundant bound checks. The transformation scheme serves as a unified framework for reasoning about a variety of low level optimizations that have, to date, been dealt with in a more or less ad hoc manner.",
author = "Debray, {Saumya K}",
year = "1992",
doi = "10.1016/0743-1066(92)90021-T",
language = "English (US)",
volume = "13",
pages = "57--88",
journal = "Journal of Logic Programming",
issn = "1567-8326",
publisher = "Elsevier Inc.",
number = "1",

}

TY - JOUR

T1 - A simple code improvement scheme for prolog

AU - Debray, Saumya K

PY - 1992

Y1 - 1992

N2 - The generation of efficient code for Prolog programs requires sophisticated code transformation and optimization systems. Much of the recent work in this area has focused on high level transformations, typically at the source level. Unfortunately, such high level transformations suffer from the deficiency of being unable to address low level implementation details. This paper presents a simple code improvement scheme that can be used for a variety of low level optimizations. Applications of this scheme are illustrated using low level optimizations that reduce tag manipulation, dereferencing, trail testing, envi- ronment allocation, and redundant bound checks. The transformation scheme serves as a unified framework for reasoning about a variety of low level optimizations that have, to date, been dealt with in a more or less ad hoc manner.

AB - The generation of efficient code for Prolog programs requires sophisticated code transformation and optimization systems. Much of the recent work in this area has focused on high level transformations, typically at the source level. Unfortunately, such high level transformations suffer from the deficiency of being unable to address low level implementation details. This paper presents a simple code improvement scheme that can be used for a variety of low level optimizations. Applications of this scheme are illustrated using low level optimizations that reduce tag manipulation, dereferencing, trail testing, envi- ronment allocation, and redundant bound checks. The transformation scheme serves as a unified framework for reasoning about a variety of low level optimizations that have, to date, been dealt with in a more or less ad hoc manner.

UR - http://www.scopus.com/inward/record.url?scp=0013230743&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0013230743&partnerID=8YFLogxK

U2 - 10.1016/0743-1066(92)90021-T

DO - 10.1016/0743-1066(92)90021-T

M3 - Article

AN - SCOPUS:0013230743

VL - 13

SP - 57

EP - 88

JO - Journal of Logic Programming

JF - Journal of Logic Programming

SN - 1567-8326

IS - 1

ER -