FPROG

Functional programming with haskell

Functional programming with haskell


C. W.
Diese Lernkarten bieten eine Einführung in die funktionale Programmierung mit Haskell auf Universitätsniveau. Sie behandeln grundlegende Konzepte wie Typen, Werte, Funktionen und Listen, sowie fortgeschrittene Themen wie Rekursion, Typinferenz und Compilerverhalten. Die Karteikarten eignen sich für Studierende der Informatik, die Haskell lernen oder ihre Kenntnisse vertiefen möchten, indem sie die Eigenschaften von Haskell-Funktionen, Typen und Ausdrücken verstehen und anwenden.
Flashcards
20
Students
1
Language
German
Category
Computer Science
Level
University
Created / Updated
30.10.2018 / 19.03.2024

Flashcards

Haskell Funktionen geben für gleiche Argumente immer dasselbe Resultat zurück

Richtig

data A = B | C definiert die drei Typen A,B und C

FALSCH

Tuples in Haskell sind homogen: Jede Komponente muss denselben Typ haben

FALSCH

In Haskell können nur Werte mit dem gleichen Typ mittels == verglichen werden.

Richtig

In Haskell kann man sogar Typen in einer normalen Liste speichern. Z.B [Bool, Int]

FALSCH

Statt Schleifen verwendet man in Haskell Rekursion

Richtig

Haskell Listen sind immutable. Funktionen auf Listen verändern die ursprüngliche Liste nicht, sondern erzeugen eine neue Liste als Resultat.

Richtig

In Haskell kann man Funktionen in eine Liste ablegen. ZB. Folgende Liste ist ein legaler Wert [fst, snd]

Richtig

let und where können verwendet werden um lokale Funktionen zu definieren.

Richtig

Der Funktionstyp ist rechtsassoziativ: a -> b -> c ist so zu interpretieren: a -> (b -> c)

Richtig

In Haskell Listen können die Elemente unterschiedliche Typen haben.

FALSCH

Lambda Ausdrücke sind Funktionen ohne Namen.

Richtig

Jede Komponente eines Tupels kann einen unterschiedlichen Typ haben.

Richtig

In Haskell kann überall wo eine Bool erwartet wird auch ein Int übergeben werden. Der Wert 0 entspricht dann false und alle anderen Werte entsprechen True

FALSCH

Man kann auch in Java funktional Programmieren, aber es wird von der Sprache weder forciert noch begünstig.

Richtig

Der Compiler überprüft zur Übersetzungszeit, ob die Typen zusammenpassen. Wenn sie nicht passen, wird die Kompilation mit einem Fehler abgebrochen.

Richtig

In Haskell kann es zu Exceptiohs kommen. Wenn z.B. tail auf einer leeren Liste angewendet wird.

Richtig

Vom Typ Bool gibt es genau zwei Werte. True und False.

Richtig

Eine let-Expression ist ein Ausdruck, der auf einen Wert evaluiert.

Richtig

Der Compiler garantiert, dass beim Pattemmatching immer alle Fälle berücksichtigt werden. Sonst wird die Übersetzung abgebrochen.

Richtig

Study