[comp.lang.prolog] Types Utilizations in Prolog

azzoune@imag.UUCP (H. AZZOUNE) (10/26/87)

I am looking for literature and articles on Types Utilisations for 
interpretation or compilation of Prolog. The type (domain) of an argument 
describes the set of terms (or schema of terms) for which the predicat may 
succed.

Does anybody have any suggestions?

thanks
H. Azzoune

azzoune@imag@uucp or
{seismo.css.gov|mcvax|inria}!imag!azzoune

lee@mulga.oz (Lee Naish) (10/29/87)

In article <2070@imag.UUCP> azzoune@imag.UUCP (H. AZZOUNE) writes:
>I am looking for literature and articles on Types Utilisations for 
>interpretation or compilation of Prolog.

Most literature on types in Prolog is related to debugging.

Type synthesis is probably most useful for compiler optimization,
for example, the following paper.

%A J. Zobel
%T Derivation of polymorphic types for Prolog programs
%J Proceedings of the Fourth International Conference on Logic Programming
%C Melbourne, Australia
%D May 1987

The following discusses application to program verification:

%A Tadashi Kanamori
%A Kenji Horiuchi
%T Type inference in Prolog and its applications
%J Proceedings of the Ninth International Joint Conference
on Artificial Intelligence
%C Los Angeles, California
%D September 1985
%K ijcai
%P 704-707

The following discusses application of interpretation to type checking.

%A Lee Naish
%T Specification = Program + Types
%J Proceedings of the 7th Conference on Foundations of Software Technology
and Theoretical Computer Science
%D December 1987 (to appear)
%C Pune, India
%X Technical Report 87/4, Department of Computer Science, University of Melbourne

reddy@uiucdcsb.cs.uiuc.edu (10/31/87)

I don't know if Lee's message got cut off in the middle somewhere on
the net.  But, I didn't see an important reference mentioned in his
list.

	Mycroft and O'Keefe, A polymorphic type system for Prolog,
	Artificial Intelligence, 23:295-307 (1984).

An implementation of this system exists.  But, it needs lots of
declarations.  You can probably ask O'Keefe for a copy of the system.

For an early reference on the theory of type "inference", see

	Mishra, Towards a theory of types in Prolog, IEEE Intl. Symp
	on Logic Programming, 1984, 289-298.