Refinement types for ML

  title={Refinement types for ML},
  author={Timothy S. Freeman and F. Pfenning},
  booktitle={PLDI '91},
Abstract : Programming computers is a notoriously error-prone process. It is the job of the programming language designer to make this process more reliable. One approach to this is to impose some sort of typing discipline on the programs. In doing this, the programming language designer is immediately faced with a tradeoff: if the type system is too simple, it cannot accurately express important properties of the program; if it is too expressive, then mechanically checking or inferring the… Expand
Practical refinement-type checking
Dependent types in practical programming
The Design and Implementation of Typed Scheme: From Scripts to Programs
Types and programming languages
Polymorphic algebraic data type reconstruction