Compiling Prolog to Standard ML: Some Optimizations

Abstract

Using a high level language to develop a Prolog system offers many advantages. Development time is decreased, maintainability is increased, and modularity can be utilized. We used Standard ML to develop such a system due to its many powerful features, such as its efficient garbage collection and strong type checking. Of particular consideration was to determine the practicality of this high level system-whether or not a reasonable performance could be obtained. This paper focuses on the optimizations implemented which increase the performance of the system. They include Indexing, Last Call Optimization, Garbage Reduction, and String Compare. AH of the combined greatly enhance the performance of the system, which approaches that of a low-level implementation for certain types of programs. This report was submitted in partial fulfillment of the requirements for the Senior Honors Research Program in the School of Computer Science at Carnegie Mellon University.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Sep 09, 1992
Accession Number
ADA256193

Entities

People

  • Luke Hornof

Organizations

  • Carnegie Mellon University

Tags

DTIC Thesaurus Topics

  • Abstracts
  • Compilers
  • Computer Programming
  • Computer Science
  • Environment
  • High Level Languages
  • Instruction Set Architecture
  • Instructions
  • Language
  • Machine Languages
  • New Jersey
  • Object Code
  • Optimization
  • Programming Languages
  • Side Effects
  • Software Development
  • Standards

Readers

  • Computational Linguistics
  • Parallel and Distributed Computing.
  • Software Engineering.