Warren's abstract machine: a tutorial reconstruction
Warren's abstract machine: a tutorial reconstruction
A simple code improvement scheme for Prolog
Journal of Logic Programming
Deriving descriptions of possible values of program variables by means of abstract interpretation
Journal of Logic Programming
Live-structure dataflow analysis for Prolog
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type analysis of Prolog using type graphs
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Herbrand constraint solving in HAL
Proceedings of the 1999 international conference on Logic programming
Combining an improvement to PARMA trailing with trailing analysis
Proceedings of the 4th ACM SIGPLAN international conference on Principles and practice of declarative programming
An Application of Abstract Interpretation of Logic Programs: Occur Check Reduction
ESOP '86 Proceedings of the European Symposium on Programming
CP '99 Proceedings of the 5th International Conference on Principles and Practice of Constraint Programming
Combining an improvement to PARMA trailing with trailing analysis
Proceedings of the 4th ACM SIGPLAN international conference on Principles and practice of declarative programming
Hi-index | 0.00 |
The HAL language includes a Herbrand constraint solver which uses Taylor's PARMA scheme rather than the standard WAM representation. This allows HAL to generate more efficient Mercury code. Unfortunately, PARMA's variable representation requires value trailing with a trail stack consumption about twice as large as for the WAM. We present a trailing analysis aimed at determining which Herbrand variables do not need to be trailed. The accuracy of the analysis comes from HAL's semi-optional determinism and mode declarations. The analysis has been partially integrated in the HAL compiler and benchmark programs show good speed-up.