Algebraischer Datentyp

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

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

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

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

Quotiententyp

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

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

Einzelnachweise

  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.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.