From Monomorphic to Polymorphic Well-Typings and Beyond

Tom Schrijvers, Maurice Bruynooghe, John Patrick Gallagher

Research output: Contribution to journalConference articleResearchpeer-review


Type information has many applications; it can e.g. be used in optimized compilation, termination analysis and error detection. However, logic programs are typically untyped. A well-typed program has the property that it behaves identically on well-typed goals with or without type checking. Hence the automatic inference of a well-typing is worthwhile. Existing inferences are either cheap and inaccurate, or accurate and expensive. By giving up the requirement that all calls to a predicate have types that are instances of a unique polymorphic type but instead
allowing multiple polymorphic typings for the same predicate, we obtain a novel strongly-connected-component-based analysis that provides a good compromise between accuracy and computational cost.
Original languageEnglish
Book seriesLecture Notes in Computer Science
Pages (from-to)152-167
Number of pages16
Publication statusPublished - 2009
EventLogic-Based Program Synthesis and Transformation, LOPSTR 2008 - Valencia, Spain
Duration: 17 Jul 200818 Jul 2008
Conference number: 18


ConferenceLogic-Based Program Synthesis and Transformation, LOPSTR 2008


  • type inference
  • logic programming

Cite this