Algebraische Datentypen sind Datenstrukturen, die aus Summen, Produkten und rekursiven Typen aufgebaut sind und eine Algebra zulassen. Beschreibungen von Typen, die als ADTs angegeben sind, können symbolisch manipuliert werden, um andere verwandte Datenstrukturen abzuleiten. Die Logik für den algebraischen Aufbau von Typen bezieht sich auf kombinatorische Arten in der kombinatorischen Mathematik.
Ist es möglich, einen einfachen syntaktischen Begriff der Gleichheit zu definieren (ähnlich dem, was GHC automatisch als Eq -Instanz für einen Haskell 98-Typ ableitet), ohne entweder explizit jeden Datenkonstruktor nachzuweisen ist injektiv...
10.10.2014, 10:53
Soweit ich weiß, entsprechen rekursive Datentypen von Haskell den ursprünglichen Algebren von Endofunctors aus der Kategorie Hask [ 1 , 2 ]. Zum Beispiel:
Natürliche Zahlen, data Nat = Zero | Succ Nat , entsprechen der ursprünglichen A...
26.08.2017, 23:02
In Haskell können Sie einen algebraischen Datentyp ohne Konstruktor definieren:
%Vor%
Aber was ist der Zweck eines Typs (oder einer Sorte?), der keinen Konstruktor hat?
25.10.2015, 22:28
Ich habe diesen einfachen Code in OCaml:
%Vor%
Beim Testen meiner extract -Funktion scheint es zu funktionieren:
%Vor%
Ich vereinfache es, also braucht es nur einen Typ:
%Vor%
Aber ich bekomme den Fehler:
%Vor%
Das lustige ist...
01.04.2013, 21:58
Ich versuche derzeit 20 Intermediate Haskell Exercises . Ich konnte mit den ersten 3 Übungen fertig werden (aber das liegt daran, dass furry == fmap und Learn You a Haskell hat diese Implementierungen bereits). Ich bin derzeit auf der I...
21.08.2012, 01:52
Unglücklicherweise hat TypeScript (bis jetzt) (noch) keine algebraischen Datentypen (Union-Typen) und Mustervergleiche (um sie zu destrukturieren). Außerdem unterstützt es nicht einmal instanceof auf Schnittstellen. Welches Muster verwenden Si...
10.01.2014, 00:24
Ist es möglich, in Haskell einen Datenkonstruktor für den partiell angewendeten Typ zu erstellen?
ghci-Sitzung:
%Vor%
Ich möchte Datenkonstruktor für den Typ T1 erstellen - ist das überhaupt möglich? Oder muss ich neue Typen verwenden, we...
23.07.2013, 17:54
Eine Anwendung kann in zwei Modi arbeiten - "Echtzeit", in der jede Aktualisierung des Zustandes der Welt betrachtet wird, oder "abgetastet", wobei nur alle Millisekunden der Zustand der Welt betrachtet wird.
Wenn ich Haskell (oder eine ander...
15.07.2015, 11:14
Ich habe ein mathematisches Vector Modul in Haskell geschrieben.
Also begann ich mit:
%Vor%
Fein - damit kann ich jeden beliebigen numerischen Datentyp verwenden. Das Problem ist, dass ich nicht überall Double und Vector Double s...
08.07.2012, 05:00
Zuerst, Entschuldigung für die lange Post. Grundsätzlich ist meine Frage:
Ich versuche, den folgenden F # diskriminierten Vereinigungstyp in C # zu reproduzieren:
%Vor%
Kann jemand eine einfachere schnittstellenbasierte Lösung vorschlag...
12.03.2011, 14:04