This item is only available for download by members of the University of Illinois community. Students, faculty, and staff at the U of I may log in with your NetID and password to view the item. If you are trying to access an Illinois-restricted dissertation or thesis, you can request a copy through your library's Inter-Library Loan office or purchase a copy directly from ProQuest.
Permalink
https://hdl.handle.net/2142/22455
Description
Title
A polymorphic type system for logic programs
Author(s)
Pyo, Changwoo
Issue Date
1990
Doctoral Committee Chair(s)
Reddy, Uday S.
Department of Study
Computer Science
Discipline
Computer Science
Degree Granting Institution
University of Illinois at Urbana-Champaign
Degree Name
Ph.D.
Degree Level
Dissertation
Keyword(s)
Computer Science
Language
eng
Abstract
This thesis develops a polymorphic type system for logic programs. Our approach is semantically oriented. We define a type language with precise semantics. Type inference rules are derived from the semantics of the type language and the semantics of logic programs. Algorithms for automatic type construction are developed based on the type inference rules. Soundness of the inference rules guarantees the soundness of the algorithms. A prototype system is implemented using a logic programming language Prolog.
Logic programs has no standard notion of error. Thus, in order to introduce types into logic programs, a notion of type error should be defined first. In our type system, error is the guaranteed failure. Then, types of predicates are supersets of relations defined by the predicates. Such types can be incorporated into logic programs without changing the syntax and semantics of logic programs.
The developed type system assumes that no type declarations or type definitions are available from programs. Types are automatically inferred by static program analysis. Regular trees constitute an effective type language for automatic type inference due to their expressive power and availability of many useful algorithms.
Our type system realizes type polymorphism by using implication and universal quantification as type constructs. Compared with other work, our polymorphic types have well-defined set-theoretic semantics and more expressive power. Our framework can be used for semantic analyses of logic programs for other purpose.
The developed polymorphic type system shows that logic programs can have logically sound and practically useful type systems. Moreover, we recognize that our type system has a generality as a basis for static semantic analyses of logic programs for various purpose.
Use this login method if you
don't
have an
@illinois.edu
email address.
(Oops, I do have one)
IDEALS migrated to a new platform on June 23, 2022. If you created
your account prior to this date, you will have to reset your password
using the forgot-password link below.