License
when quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ICLP.2012.451
URN: urn:nbn:de:0030-drops-36452
URL: http://drops.dagstuhl.de/opus/volltexte/2012/3645/

Hadjichristodoulou, Spyros

A Gradual Polymorphic Type System with Subtyping for Prolog

pdf-format:
Dokument 1.pdf (318 KB)


Abstract

Although Prolog was designed and developed as an untyped language, there have been numerous attempts at proposing type systems suitable for it. The goal of research in this area has been to make Prolog programming easier and less error-prone not only for novice users, but for the experienced programmer as well. Despite the fact that many of the proposed systems have deep theoretical foundations that add types to Prolog, most Prolog vendors are still unwilling to include any of them in their compiler's releases. Hence standard Prolog remains an untyped language. Our work can be understood as a step towards typed Prolog. We propose an extension to one of the most extensively studied type systems proposed for Prolog, the Mycroft-O'Keefe type system, and present an implementation in XSB-Prolog. The resulting type system can be characterized as a Gradual type system, where the user begins with a completely untyped version of his program, and incrementally obtains information about the possible types of the predicates he defines from the system itself, until type signatures are found for all the predicates in the source code.

BibTeX - Entry

@InProceedings{hadjichristodoulou:LIPIcs:2012:3645,
  author =	{Spyros Hadjichristodoulou},
  title =	{{A Gradual Polymorphic Type System with Subtyping for Prolog}},
  booktitle =	{Technical Communications of the 28th International Conference on Logic Programming (ICLP'12)},
  pages =	{451--457},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-939897-43-9},
  ISSN =	{1868-8969},
  year =	{2012},
  volume =	{17},
  editor =	{Agostino Dovier and V{\'i}tor Santos Costa},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2012/3645},
  URN =		{urn:nbn:de:0030-drops-36452},
  doi =		{http://dx.doi.org/10.4230/LIPIcs.ICLP.2012.451},
  annote =	{Keywords: Type Inference, Polymorphic Type System, Gradual Typing, Tabling, Answer Subsumption}
}

Keywords: Type Inference, Polymorphic Type System, Gradual Typing, Tabling, Answer Subsumption
Seminar: Technical Communications of the 28th International Conference on Logic Programming (ICLP'12)
Issue date: 2012
Date of publication: 27.07.2012


DROPS-Home | Fulltext Search | Imprint Published by LZI