• Keine Ergebnisse gefunden

Ubungsblatt 11 ¨

N/A
N/A
Protected

Academic year: 2021

Aktie "Ubungsblatt 11 ¨"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Universit¨at Siegen

Lehrstuhl Theoretische Informatik Carl Philipp Reh

Funktionales Programmieren SS 2020

Ubungsblatt 11 ¨

Aufgabe 1. Bestimmen Sie f¨ur die folgenden Haskell-Programme jeweils die Semantik. Welche Funktionen m¨ussen bereits in der Umgebung eingetragen sein? Welche Data-Deklarationen muss es im Programm geben?

(a)

let a = \ x -> x == 42 in a 3

(b)

let s = \ x -> case x <= 0 of { True -> 0

; F a l s e -> x + s ( x - 1) } in s 10

Aufgabe 2. Wir haben bisher if e1then e2 elsee3 verwendet, was in der Basissyntax aber nicht erlaubt ist.

(a) Definieren Sie eine geeignete Semantik f¨ur if e1thene2elsee3.

(b) Geben Sie eine ¨Ubersetzung von if e1thene2elsee3 in die Basissyntax an.

(c) Bestimmen Sie die Semantik von Ihrer ¨Ubersetzung. Stimmt diese mit Ihrer Semantik f¨ur if e1thene2elsee3 uberein?¨

1

Referenzen

ÄHNLICHE DOKUMENTE

Zun¨ achst stellen wir fest, dass f¨ ur jede endliche Kette c : N → D das Supremum existiert, was das. ” letzte“ Element der Kette ist (Beweis:

Wenn man zeigen will, dass Funktionen stetig sind, kommt es oft vor, dass man mit mehreren Ketten auf einmal zu tun hat.. Diese Funktion ist stetig, weil sie

Er besagt, dass jede stetige Funktion einen kleinsten Fixpunkt hat und zeigt sogar, wie man diesen erh¨ alt..

Allerdings terminiert g c nicht, weil es sein Argument so weit auswerten muss, bis klar ist, welcher Wertkonstruktor (hier M a k e ) angewandt wurde. Wir ben¨ otigen also nicht

Wir werden hierbei einige Einschr¨ ankungen vornehmen, die allerdings keine wirklichen Einschr¨ ankungen sind, da man alle anderen Haskell-Programme in unsere erlaubte Syntax

Wir m¨ ussten eigentlich noch zeigen, dass alle Funktionen, die wir in der Definition der Semantik benutzt haben, auch stetig sind.. Da dies allerdings sehr aufw¨ andig ist, m¨

Intuitiv geschieht dies, indem man Typvariablen so ersetzt, dass alle Typgleichungen von der Form τ = τ sind, also zum Beispiel α = Int wird zu Int = Int, indem man α durch

I ” nicht l¨ osbar“ liefert, wenn es keine L¨ osung f¨ ur E gibt, I und andernfalls eine allgemeinste L¨ osung f¨ ur E liefert.. Wir starten mit einer Substitution s, die am