• Keine Ergebnisse gefunden

Aufgabe 3: Typchecker für eine Sprache mit Subtyping

N/A
N/A
Protected

Academic year: 2022

Aktie "Aufgabe 3: Typchecker für eine Sprache mit Subtyping"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Fachbereich Informatik

Programmiersprachen und Softwaretechnik

Prof. Dr. Klaus Ostermann

Leitung des Übungsbetriebs Philipp Schuster

philipp.schuster@uni-tuebingen.de

Programmiersprachen II

Hausaufgabe 8 – WS 16

Tübingen, 20. Dezember 2016

Abgabe Geben Sie diese Hausaufgabe bis Donnerstag den 12. Januar 2017 ab. Entweder bis 12:00 per Email an Philipp Schuster (philipp.schuster@uni-tuebingen.de) oder zu Beginn der Übung auf Papier.

Gruppen Sie können in Gruppen von bis zu 2 Personen arbeiten. Schreiben Sie in jedem Fall die Namen und Matrikelnummern aller Gruppenmitglieder mit auf die Hausaufgabe / in die Email. Wenn Sie in einer Gruppe arbeiten, achten Sie darauf, dass alle Mitglieder der Gruppe den Stoff verstehen.

Nur dann sind die Hausaufgaben eine gute Vorbereitung auf die Prüfung.

Punkte Sie können für die Aufgaben dieser Woche jeweils zwischen 0 und 2 Punkten bekommen.

Insgesamt also zwischen 0 und 6 Punkten. Sie bekommen für die Aufgaben jeweils:

1 Punkt, wenn Ihre Abgabe zeigt, daß Sie sich mit der Aufgabe ernsthaft beschäftigt haben.

2 Punkte, wenn Sie die Aufgabe weitgehend korrekt gelöst haben.

Um zur Klausur zugelassen zu werden müssen Sie mindestens 50% der maximal möglichen Punkte in den Hausaufgaben erreichen. Mit 60% bis 100% der möglichen Hausaufgabenpunkte erhalten Sie einen Bonus von 0% bis 20% der Klausurpunkte in der Klausur.

Aufgabe 1: Join

Wir betrachten folgende Menge von Typen:

htypei::= ‘Top’ |htypei → htypei|{li :htypeii} Wir betrachten folgende Regeln der Subtyp-Relation:

S-TOP

`S <: Top

S-ARROW

`T1 <:S1 `S2 <:T2

`S1 →S2 <:T1→T2

S-RCD

{li |i∈1..n} ⊆ {kj |j∈1..m} for eachkj =li,`Sj <:Ti

` {kj :Sj j∈1..m}<:{li :Ti i∈1..n} Was ist jeweils das Join der folgenden Paare von Typen:

(2)

1. {a: Top}undTop

2. {a: Top, b: Top} →({x:T op} → {z: Top})und{a: Top} →({y: Top} → {z: Top}) 3. ({a: Top, b: Top} → {x:T op})→ {z: Top}und({a: Top} → {y: Top})→ {z: Top}

Aufgabe 2: Meet

Was ist jeweils das Meet der Paare von Typen aus Aufgabe 2.

Aufgabe 3: Typchecker für eine Sprache mit Subtyping

Implementieren Sie den in der Vorlesung vorgestellten algorithmischen Typchecker für die in der Vorlesung vorgestellte Sprache mit Subtyping in der Programmiersprache Ihrer Wahl. Beispiele für die Repräsentation der Terme und Typen in Haskell und Java befinden sich auf der Webseite. Er- weitern Sie optional die Implementation der Sprache um ein if-then-else Konstrukt. Finden Sie beim Typchecken von if-then-else den kleinsten Supertyp.

Seite 2/2

Referenzen

ÄHNLICHE DOKUMENTE

For read, sense, or end status byte operations, the control unit sends the request in signal to the multiplexer channel, and the channel responds only if the

Punkte Sie können für die Aufgaben dieser Woche jeweils zwischen 0 und 2 Punkten bekommen.. Insgesamt also zwischen 0 und

Punkte Sie können für die Aufgaben dieser Woche jeweils zwischen 0 und 2 Punkten bekommen.. Insgesamt also zwischen 0 und

Wer ohne ihn Bett und Wohnung nicht ver- lassen kann, braucht einen schnellen Service vor Ort (oder einen Zweitrolli, wenn der andere nur wegen einer Panne quer durch Deutschland zum

die schwedi- sche Behindertenpolitik ge- prägt von hoher Achtung ge- genüber dem Recht des behinderten Men- schen auf Selbstbestimmung, das sich sowohl im Baurecht hinsichtlich der

Damitsollen be- hinderte Menschen in den nächsten 1 1⁄2 Jahre in sieben Seminarblöcken dazu qua- lifiziert werden, Tourismusunternehmen, Hotels, Gaststätten oder Kommunen da- bei

Das Persönliche Budget hilft dabei, dass Menschen mit Behinderung genauso gut leben können, wie Menschen oh- ne Behinderung.. Durch das Persönliche Budget können Menschen mit

Nachdem sich das Hilfsprojekt für Arbeitssuchende, „Arbeit durch Management“, in den vergangenen zwei Jahren in Magdeburg etaliert hat, können seit einigen Monaten auch Menschen