Startseite › Forschung › Projekte › Complete Type Inference (CTI)

Complete Type Inference (CTI)

Strong type systems are one of the main benefits of modern functional programming languages. They help to detect a large class of programming errors before runtime and are therefore able to reduce correction efforts and costs of errors. Advanced type inference algorithms make these benefits available without the need for tedious type declarations in the source code.

There exist, however, functional programming languages which do not contain such a strong type system. Nevertheless, these languages are used in practical applications. An approach to add a strong type system on top of an existing functional language is soft-typing; its main disadvantage is the tendency to create a potentially large number of warnings even for type-correct programs.

The project CTI (complete type inference) discovered a different approach: a type system that is complete in the sense that it recognizes every type-correct program as type-correct. When heavily mixing types, it can overlook some type errors, but when combined with a soft-typing system, the programmer benefits from a structured set of messages of assured errors and additional warnings.