9734265 Palsberg The goal of the project is to develop type inference algorithms for object-oriented software which are practically useful for tool developers and language designers. An example application is tool support for transforming a dynamically typed prototype application into a statically typed product. The currently known algorithms do not handle the combination of features found in commonly used languages, and none of the algorithms are known to scale well. The project will develop new type inference algorithms, it will perform large scale experiments with them, and it will investigate new language designs where type inference is smoothly integrated. Along with this, a hands-on course on programming languages is being developed, focusing on the similarities and differences between object oriented and functional programming. ***