Zum Hauptinhalt springen

In objektorientierten Sprachen wie Java, C#, Scala oder C++ ist es zwingend erforderlich, den Typ einer Variablen, die Argument- und Return-Typen einer Methode festzulegen. Es gibt allenfalls lokale Typinferenz, die es für einen sehr eingeschränkten Bereich erlaubt Typen wegzulassen. Demgegenüber haben funktionale Sprache wie Haskell oder CAML schon seit sehr langer Zeit globale Typinferenzsysteme, die es erlauben alle Typen wegzulassen ohne die Eigenschaft statische Typisierung zu verlieren.

Der Forschungsschwerpunkt Typsysteme für objektorientierte Programmiersprachen beschäftigt sich hauptsächlich mit der Programmiersprache Java und dem Versuch diese um globale Typinferenz zu erweitern.

Java-TX

Ein an der Dualen Hochschule entwickelter Typinferenzalgorithmus soll Java Programmieren einfacher und effizienter machen.
Er kann für den/die Programmierer*in automatisch die bestmögliche Typisierung errechnen und einsetzen.
Dadurch ist es auch möglich den Java Quellcode ohne Typangaben zu schreiben.

Die daraus entstandene Programmiersprache Java-TX (TX steht für Type eXtended) erweitert Java um:

  • Globale Typinferenz
  • Echte Funktionstypen, wie sie aus Scala oder C# bekannt sind
  • Allgemeinste Typen
  • Durchschnittstypen

Laufende Projekte

  • Typinferenz für Featherweight Java
  • Generated Generics
  • Parametrisierte Typen im Java-Byte-Code
  • Java ohne Wildcards

Abgeschlossene Projekte

  • Entwicklung eines Java-Typunifikationsalgorithmus
  • Integration von echten Funktionstypen in Java

Abgeschlossende Studien- und Masterarbeiten

Innovationsprogramm Forschung

Im Rahmen des Innovationsprogramms Forschung besteht ein gemeinsames Projekt "Parametrisierte Typen im Java-Byte-Code" mit dem Lehrstuhl Peter Thiemann an der Universität Freiburg . Hierzu konnte der der Wiss. Mitarbeiter Andreas Stadelmeier angestellt werden. Im Rahmen diese Projekts schreibt Herr Stadelmeier seine Dissertation.

Veröffentlichungen

Typinferenz

Typunifikation

Implementierung

Ansprechpersonen

Leitung

Wissenschaftlicher Mitarbeiter