Polymorphic algebraic data type reconstruction

  title={Polymorphic algebraic data type reconstruction},
  author={T. Schrijvers and M. Bruynooghe},
  booktitle={PPDP '06},
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… Expand
Typing as functional-logic evaluation
The paper demonstrates vividly the expressive power of functional logic languages, as well as some of their limitations for metaprogramming purposes, that are overcome by providing a suitable set of metalogical functions to inspect, classify and manipulate expressions according to their structure, similar to well known Prolog metapredicates for such purposes. Expand
From Monomorphic to Polymorphic Well-Typings and Beyond
This work obtains a novel strongly-connected-component-based analysis that provides a good compromise between accuracy and computational cost. Expand
As time goes by: Constraint Handling Rules
Covering more than 180 publications, this new survey provides an overview of recent results in a wide range of research areas, from semantics and analysis to systems, extensions, and applications. Expand
As time goes by: Constraint Handling Rules - A survey of CHR research from 1998 to 2007
Covering more than 180 publications, this new survey provides an overview of recent results in a wide range of research areas, from semantics and analysis to systems, extensions and applications. Expand
Constraint Handling Rules - What Else?
Constraint Handling Rules (CHR) is both an effective concurrent declarative constraint-based programming language and a versatile computational formalism. While conceptually simple, CHR isExpand
The K.U.Leuven CHR system
CHR's features haven been chosen to support the modeling and implementation of constraint solvers, and be it for logical reasoning services or for any other general purpose application, CHR is a language to consider. Expand
Aggregates in Constraint Handling Rules
Constraint Handling Rules is a general-purpose programming language based on committed-choice, multi-headed, guarded multiset rewrite rules that requires explicit encoding, using auxiliary constraints and rules. Expand
Learning Semantic Parsers: A Constraint Handling Rule Approach
This work states that semantic parsing is a challenging and interesting problem that has been severely understudied and previous approaches to semantic parsing are not robust enough or are limited in its applicability because they are applied to simple domains where semantic parsing reduces to filling slots on a frame. Expand
Constraint Handling Rules Bibliography
A data connector is disclosed herein which includes a plurality of terminals situated in an insulative housing, and the housing is surrounded by shielding members to form a shielded subassembly, theExpand


Refinement types for ML
A type system called refinement types is described, which is an example of a new way to make this tradeoff, as well as a potentially useful system in itself. Expand
Type constraint solving for parametric and ad-hoc polymorphism
This paper shows how to infer predicate types, by translating a constraint logic program with given types into a logic program over types, which can then be used to check and infer the possible types for the predicates and variables appearing in the original program. Expand
Type analysis of Prolog using type graphs
The main contribution of the paper is to show that the type analysis system for Prolog based on abstract interpretation and type graphs can be engineered to be practical for medium-sized programs without sacrificing accuracy. Expand
Towards constraint-based type inference with polymorphic recursion for functional and logic languages
This work proposes a new constraint-based formulation of Henglein’s inference algorithm, based on arrow graph reweriting, with an extended occurs check that allows for practical principal type inference in a large class of programs. Expand
A Theory of Type Polymorphism in Programming
  • R. Milner
  • Computer Science
  • J. Comput. Syst. Sci.
  • 1978
This work presents a formal type discipline for polymorphic procedures in the context of a simple programming language, and a compile time type-checking algorithm w which enforces the discipline. Expand
Inference of Well-Typings for Logic Programs with Application to Termination Analysis
A method is developed to infer a polymorphic well-typing for a logic program and experiments so far show that the automatically inferred well-typings are close to the declared types and result in termination conditions that are as strong as those obtained with declared types. Expand
Type inference with polymorphic recursion
The Damas-Milner Calculus is the typed λ-calculus underlying the type system for ML and several other strongly typed polymorphic functional languages such as Miranda and Haskell. Mycroft has extendedExpand
TIL: a type-directed, optimizing compiler for ML
TIL introduced and popularized the notion of a certifying compiler, which attaches a checkable certificate of safety to its generated code, inspiring the development of Proof-Carrying Code and Typed Assembly Language as certified object code formats. Expand
Type reconstruction in the presence of polymorphic recursion
It is shown that the typability problem for each one of these extensions of ML is polynomial-time equivalent to the Semi-Unification Problem and, therefore, undecidable. Expand
Termination Analysis with Types Is More Accurate
In this paper we show how we can use size and groundness analyses lifted to regular and (polymorphic) Hindley/Milner typed programs to determine more accurate termination of (type correct) programs.Expand