TU Wien:Typsysteme VO (Puntigam)/Prüfung 2016-15-04

Aus VoWi
Zur Navigation springen Zur Suche springen

Wir waren zu zweit, jeder hat vier Fragen beantworten müssen.

  1. Was ist ein Typ? (Verschiedene Definitionen erläutern)
  2. Typen in Ada
    1. Was sind Unterbereichstypen? Wie können Sie verwendet werden?
    2. Wie funktioniert Vererbung in Ada? Wie verhalten sich tagged records im Bezug auf Ersetzbarkeit? Wieso 'funktioniert' Ada dennoch? (Weil keine Ersetzbarkeit gebraucht wird)
    3. Hier hat er uns auch beide immer wieder Details zu Ersetzbarkeit und auch Dispatching in Ada gefragt, z.B. verschiedene Fälle wann in Ada dynamisch gebunden wird.
  3. Polymorophismus
    1. Typinferenz Algorithmus erklären. Hier war er sehr genau. Jeden Fall von PT aufzählen und auch erklären was innerhalb der Schritte passiert ("Für Anwendungen werden Typparameter von Variablen in beiden rekursiv berechneten Gamma Umgebungen (was ist da drinnen?) gleich gesetzt, und der Funktionstyp mit einem neuen Typparameter für den ausgangswert von e', etc.); Was ist die worst-case Laufzeit für den Algorithmus? Warum ist der occurs check in der Unfikiation so teuer?
    2. Subtyping Regel für rekursive Typen, auf ein konkretes Beispiel Anwenden. Dann die Regel erklären. Hier war er auch sehr genau.
  4. Subtyping & Generizität
    1. Higher-order Subtyping auf das Beispiel von vorher anwenden. Stehen die jetzt in einer Untertypbeziehung? Wieso? Wie sieht das mit binären Methoden aus? "Wo ist hier eine binäre Methode?" (bei gibt es drei Parameter: Eingangsparameter, Ausgangsparameter und das Objekt selbst).
    2. F-Gebundene Generizität erklären. Wo entsteht bei Subtyping ein Problem?


Wir waren recht gut vorbereitet, aber er hat sehr genau gefragt und wir haben durchaus ein paar mal geschwitzt. Aber er hat uns dann ohne zu zögern ein S1 gegeben weil wir "sehr in die Tiefe gegangen" sind. D.h. mit weniger wärs auch gegangen.