A polymorphic type system for PROLOG.
Artificial Intelligence
Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
Polymorphic type inference in Prolog by abstract interpretation
Proceedings of the 6th Conference on Logic programming '87
A finite presentation theorem for approximating logic programs
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A practical framework for the abstract interpretation of logic programs
Journal of Logic Programming
A type system for logic program
Journal of Logic Programming
Types for logic programs (abstract)
Proceedings of the 1990 North American conference on Logic programming
Horn clause programs with polymorphic types: semantics and resolution
TAPSOFT '89 2nd international joint conference on Theory and practice of software development
Communications of the ACM
Deriving descriptions of possible values of program variables by means of abstract interpretation
Journal of Logic Programming
Compile-time derivation of variable dependency using abstract interpretation
Journal of Logic Programming
Types in logic programming
Efficient run-time type checking of typed logic programs
Journal of Logic Programming
Global flow analysis as a practical compilation tool
Journal of Logic Programming
A bottom-up polymorphic type inference in logic programming
Science of Computer Programming
Abstract interpretation based on OLDT resolution
Journal of Logic Programming
Abstract interpretation based on Alexander templates
Journal of Logic Programming
Type inference in Prolog: a new approach
Informatika '91 Selected papers of the 5th Soviet-French symposium on Theoretical computer science, methods and tools for compilation, and program development
Denotational abstract interpretation of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Fast and precise regular approximations of logic programs
Proceedings of the eleventh international conference on Logic programming
Type analysis of logic programs in the presence of type definitions
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Towards a Framework for the Abstract Interpretation of Logic Programs
PLILP '88 Proceedings of the 1st International Workshop on Programming Language Implementation and Logic Programming
An Experiment in Domain Refinement: Type Domains and Type Representations for Logic Programs
PLILP '98/ALP '98 Proceedings of the 10th International Symposium on Principles of Declarative Programming
Approximating Constraint Logic Programs Using Polymorphic Types and Regular Descriptions
Approximating Constraint Logic Programs Using Polymorphic Types and Regular Descriptions
Path dependent analysis of logic programs
PEPM '02 Proceedings of the 2002 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Backward Type Inference Generalises Type Checking
SAS '02 Proceedings of the 9th International Symposium on Static Analysis
Path Dependent Analysis of Logic Programs
Higher-Order and Symbolic Computation
Automated termination proofs for logic programs by term rewriting
ACM Transactions on Computational Logic (TOCL)
Hi-index | 0.00 |
This paper presents a new type analysis for logic programs. Thetype information in a set of substitutions is described by adisjunction of variable typings each of which maps a variable to anon-deterministic regular type. The use of non-deterministicregular types, set union and intersection operators, anddisjunctions of variable typings makes the new type analysis moreprecise than those found in the literature. Experimental results onthe performance of the new analysis are given together withcomparable results from an existing type analysis. The fundamentalproblem of checking the emptiness of non-deterministic regulartypes is more complex in the new analysis. The experimentalresults, however, show that careful use of tabling reduces theeffect to an average of 15% of execution time on a set ofbenchmarks.