Algebraischer Datentyp

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

In der Informatik, besonders in der funktionalen Programmierung und hier insbesondere in Haskell und der Typentheorie bezeichnet ein algebraischer Datentyp einen zusammengesetzten Datentypen.[1]

Produkttyp[Bearbeiten | Quelltext bearbeiten]

Ein Produkttyp setzt sich in einer festen Reihenfolge aus Feldern anderer (Basis-)typen zusammen. Er entspricht in der Mengenlehre dem direkten Produkt. Die Umsetzung geschieht als Verbund (Datentyp).

Summentyp[Bearbeiten | Quelltext bearbeiten]

Der Summentyp ist das Analogon der direkten Summe in der Typentheorie und wird A + B geschrieben. Der Summentyp vereinigt die Werte der Basistypen A und B so, dass für jeden Wert immer klar ist, von welchem Basistyp er stammt, selbst wenn die Werte gleich heißen.

Die Implementierung ist eine Tagged Union und ist ein Tupel des Basistyps und des Werts.

Beispiel[Bearbeiten | Quelltext bearbeiten]

Das Standardbeispiel für den Summentyp ist die Baumstruktur. Jeder Knoten ist entweder ein Teilbaum oder ein Blatt des Baums.

Quotiententyp[Bearbeiten | Quelltext bearbeiten]

Ein Quotiententyp stellt einen Typ dar, dessen Gleichheitsrelation durch eine gegebene Äquivalenzrelation neu definiert wurde, so dass die Elemente des Typs in eine Menge von Äquivalenzklassen unterteilt werden. Die Kardinalität ist dadurch kleiner oder gleich der des Basistyps. Quotiententypen sind das Pendant zu den Quotienten der Mengenlehre.[2]

Aufzählungstyp[Bearbeiten | Quelltext bearbeiten]

Ein Aufzählungstyp ist ein Datentyp für Variablen mit einer endlichen Wertemenge.

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Berthold Hoffmann: Funktionales Programmieren - Einführung. In: Vorlesungsskript. Universität Bremen, 29. Oktober 2007, abgerufen am 30. Dezember 2020.
  2. Christoph Kreitz: Automatisierte Logik und Programmierung. Universität Potsdam, S. 5, abgerufen am 31. Dezember 2020.