• Keine Ergebnisse gefunden

Aufgabe 1: Programmieren auf dem Typlevel

N/A
N/A
Protected

Academic year: 2022

Aktie "Aufgabe 1: Programmieren auf dem Typlevel"

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 12 – WS 16

Tübingen, 6. Februar 2017

Abgabe Geben Sie diese Hausaufgabe bis Donnerstag den 09. Februar 2017 bis 12:00 per Email an Philipp Schuster (philipp.schuster@uni-tuebingen.de) oder auf Papier in Raum B211 ab. Es wird an diesem Tag keine Übung geben, Sie können aber Fragen per Email stellen.

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: Programmieren auf dem Typlevel

Wir kodieren natürliche Zahlen auf dem Typlevel in System F Omega als wiederholte Anwendung eines Typoperators, also als Typen mit Kind(∗ ⇒ ∗)⇒(∗ ⇒ ∗). Als Abkürzung definieren wir diesen Kind alsTypeNat. Geben Sie einen Typen an, der der Addition zweier so kodierter natürlicher Zahlen entspricht. Der Typ soll KindTypeNat⇒TypeNat⇒TypeNathaben.

Aufgabe 2: Well-kindedness

Zeigen Sie, dass Ihr Typ T aus Aufgabe 1 im leeren Kontext den geforderten Kind hat. Das heißt, dass`T :: TypeNat⇒TypeNat⇒TypeNatgilt. Zeichnen Sie dazu einen Ableitungsbaum.

(2)

Aufgabe 3: Äquivalenz von Typen

Zeigen Sie, dass die Typen ∀X::∗. ((λY::∗. Y) X) → X und ∀X::∗. X → X äquivalent sind.

Zeichnen Sie dazu einen Ableitungsbaum für die in der Vorlesung definierte Relation≡.

Seite 2/2

Referenzen

ÄHNLICHE DOKUMENTE

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

September findet in den Räumen des Ministeriums für Gesundheit und So- ziales des Landes Sachsen-Anhalt eine Fachtagung unter dem Titel „Prävention von sexualisierter Gewalt an

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

Obwohl wir nicht mit DEHOUSSE einig gehen können, daß i m Grunde doch nichts anderes realisiert werden konnte, "als was mehr oder weniger die Benelux-Union erreicht (und). ,

Beispiele: Alle Kugeln die schwingen sind Überlagerungen: Tennis, Fußball, Golfball, Seifenblase, Erde,… (Video Kugelschwingung Alltag zeigt Beispiel).. Überlege dir Operatoren,

Eine Flüssigkeit werde über einen Zeitraum von 60 Sekunden erhitzt, die Temperaturent- wicklung verhalte sich in diesem Zeitraum linear – sie kann also durch eine

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

Dies erfordert eine Verschrän- kung von zwei Erkenntnisebenen: erstens der empirischen Ebene – was weiss man über den Identitätsbildungspro- zess von Kindern und Jugendlichen,