Compiling Prolog to Standard ML: Some Optimizations
CARNEGIE-MELLON UNIV PITTSBURGH PA SCHOOL OF COMPUTER SCIENCE
Pagination or Media Count:
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.
- Computer Programming and Software