Proceedings of the 8th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming 2006
DOI: 10.1145/1140335.1140347
|View full text |Cite
|
Sign up to set email alerts
|

Polymorphic algebraic data type reconstruction

Abstract: One of the disadvantages of statically typed languages is the programming overhead caused by writing all the necessary type information: Both type declarations and type definitions are typically required. Traditional type inference aims at relieving the programmer from the former.We present a rule-based constraint rewriting algorithm that reconstructs both type declarations and type definitions, allowing the programmer to effectively program type-less in a strictly typed language. This effectively combines str… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
7
0

Year Published

2009
2009
2015
2015

Publication Types

Select...
2
1
1

Relationship

2
2

Authors

Journals

citations
Cited by 4 publications
(7 citation statements)
references
References 26 publications
0
7
0
Order By: Relevance
“…Coquery and Fages (2003; presented TCLP, a CHR-based type checker for Prolog and CHR(Prolog) that deals with parametric polymorphism, subtyping and overloading. Schrijvers and Bruynooghe (2006) reconstruct type definitions for untyped functional and logic programs.…”
Section: Type Systemsmentioning
confidence: 99%
“…Coquery and Fages (2003; presented TCLP, a CHR-based type checker for Prolog and CHR(Prolog) that deals with parametric polymorphism, subtyping and overloading. Schrijvers and Bruynooghe (2006) reconstruct type definitions for untyped functional and logic programs.…”
Section: Type Systemsmentioning
confidence: 99%
“…The type signature of non-recursive predicate calls is an instance of the predicate signature, rather than being identical to it. In [5] a type inference is described that allows this also for recursive calls. It is straightforward to adapt that approach to the current setting where recursive calls have the same signature as the predicate (only the constraint derivation phase needs to be altered).…”
Section: The Polymorphic Type Analysismentioning
confidence: 99%
“…The motivation of the restriction is that it can be computationally very demanding when a recursive call is allowed to have a type that is a true instance of the definition's type. Indeed, [2] showed that type checking in a similar setting is undecidable, and [5] gave strong indications that this undecidability also holds for type inference in the above setting. Applied on Example 1, polymorphic type inference [5] gives: :-app(list1(T),list2(T),list2(T)).…”
Section: Introductionmentioning
confidence: 99%
See 2 more Smart Citations