Was ist () in Haskell genau?

Bin ich beim Lesen Lernen Sie eine Haskell -, und in der Monade Kapitel, es scheint mir, dass () behandelt wird, als eine Art von "null" für jeden Typ. Wenn ich die Art der () im GHCi, bekomme ich

>> :t ()
() :: ()

ist eine sehr verwirrende Aussage. Es scheint, dass () ist ein Typ für sich. Ich bin verwirrt, wie passt es in die Sprache, und wie es scheint werden in der Lage zu stehen, der für jede Art.

  • Es ist die Unit geben. Es hat genau einen Wert. . Aktionen, die Rückkehr keine interessanten Werte.
  • Ein Typ mit genau einem nicht-Wert unten.
  • Was ist der Boden Wert?
  • Boden-Wert ist ein Wert aus allen Typen. Es in der Regel bedeutet, dass kein anderer Wert zurückgegeben wurde (nontermination Funktion, Ausnahme etc.)
  • Seltsam, dass keine Antwort Nennungen der Kategorie Theorie hier...
  • ja, Einheit ist das terminal-Objekt und nichtig ist erste Objekt.
  • Ähnlich wie Bool ist eine Art, die nur zwei Werte, Unit ist ein Typ mit nur einem Wert, (). Also, wo C verfügt über Funktionen, die feststellen, dass Ihre return-type als void [nicht wirklich ein Typ, aber eine dummy-Schlüsselwort mit der Bedeutung "es gibt keinen return-Wert"], der konsequentere Ansatz ist: "es gibt einen Rückgabe-Wert, aber es ist völlig uninteressant" -- ().

InformationsquelleAutor MYV | 2013-06-03
Schreibe einen Kommentar