Abstract
The paper presents a novel approach to the analysis of typed logic programs. We assume regular type descriptions of logic program variables provided by regular tree grammars. Types are used to identify components of terms which can be equated during the programs execution. This information is reflected in form of set constraints in the generic abstract domain called Type(Х). The domain allows for abstract compilation of typed logic programs into set logic programs. We demonstrate how the analyzers of groundness and sharing of typed logic programs are obtained by applying the existing (untyped) techniques based on Pos and Sharing to set logic programs. The corresponding analyses in Type(Pos) and Type(Sharing) are more precise than those in Pos and Sharing.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
M. Bruynooghe, G. Janssens, and A. Kågedal. Live-structure analysis for logic programming languages with declarations. In Procs. 14th ICLP, 33–47. MIT Press, 1997.
M. Codish and V. Lagoon. Type dependencies for logic programs using ACI unification. Theoretical Computer Science, 238(1-2):131–159, 2000.
M. Codish, V. Lagoon, and F. Bueno. An algebraic approach to sharing analysis of logic programs. JLP, 42(2):111–149, 2000.
P. Cousot and R. Cousot. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proceedings of the 4th ACM Symp. on Principles of Programming Languages, 238–252, 1977.
B. Demoen, M. Garcia de la Banda, W. Harvey, K. Marriott, and P. Stuckey. An overview of HAL. In Procs. CP99. LNCS 1713, 174–188, 1999.
J. Gallagher and D. Waal. Fast and precise regular approximations of logic programs. In Procs. 11th ICLP, 599–613. MIT Press, 1994.
F. Gécseg and M. Steinby. Tree Automata. Akadémiai Kiadó, Budapest, 1984.
P. Van Hentenryck, A. Cortesi, and B. Le Charlier. Type analysis of Prolog using type graphs. JLP, 22(3):179–209, 1995.
M. V. Hermenegildo and K. J. Greene. &-Prolog and its performance: Exploiting independent And-Parallelism. In Procs. 7th ICLP, 253–268. MIT Press, 1990.
P. Hill and J. Lloyd. The Gödel Language. MIT Press, 1994.
D. Jacobs and A. Langen. Static analysis of logic programs for independent AND parallelism. JLP, 13(2 & 3):291–314, 1992.
G. Janssens and M. Bruynooghe. Deriving descriptions of possible values of program variables by means of abstract interpretation. JLP, 13(2 & 3):205–258, 1992.
J. Lloyd. Foundations of Logic Programming. Springer-Verlag, 2nd edition, 1988.
K. Marriott and H. S∅ndergaard. Precise and efficient groundness analysis for logic programs. ACM TOPLAS, 2(4):181–196, 1993.
R. Milner. A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17:348–375, 1978.
A. Mulkers, W. Winsborough, and M. Bruynooghe. Live-structure dataflow analysis for Prolog. ACM TOPLAS, 16(2):205–258, 1994.
A. Mycroft and R.A. O’Keefe. A polymorphic type system for Prolog. Artificial Intelligence, 23:295–307, 1984.
L. Naish. Mode checking using constrained regular trees. Technical Report 98/3, Department of Computer Science, University of Melbourne, Australia, 1998.
Z. Somogyi, F. Henderson, and T. Conway. The execution algorithm of Mercury, an efficient purely declarative logic programming language. JLP, 29(1-3):17–64, 1996.
H. S∅ndergaard. An application of abstract interpretation of logic programs: Occur check reduction. In Procs. ESOP86, itLNCS 213, 327–338, 1986.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lagoon, V., Stuckey, P.J. (2001). A Framework for Analysis of Typed Logic Programs. In: Kuchen, H., Ueda, K. (eds) Functional and Logic Programming. FLOPS 2001. Lecture Notes in Computer Science, vol 2024. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44716-4_19
Download citation
DOI: https://doi.org/10.1007/3-540-44716-4_19
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41739-2
Online ISBN: 978-3-540-44716-0
eBook Packages: Springer Book Archive