Warum in GHCI, warum die Art der Funktion Pfeil `: sort (->)` Fragemarken `(->) :: ?? ->? -> *`? [Duplikat
Frage
Mögliches Duplikat:
Haskell seltsame Arten: Art von (->) ist? ->? -> *
In GHCI (Version 7.0.2) enthält das Ergebnis, wenn ich nach der Art des Funktionstyps frage, Fragenzeichen:
Prelude> :kind (->)
(->) :: ?? -> ? -> *
Warum beinhaltet die Art Fragen anstelle von nur Sternchen * -> * -> *
? Was bedeuten die Fragezeichen? Warum verwenden andere Typen nur Sternchen?
Prelude> :kind (,)
(,) :: * -> * -> *
Lösung
Das ?
und ??
Arten beziehen sich auf GHC -Erweiterungen, insbesondere auf nicht mehr als nicht beachtete Typen. http://hackage.haskell.org/trac/ghc/wiki/intermediatetypes hat ein Diagramm, das Beziehungen zwischen den erweiterten Arten zeigt ?
(alle möglichen Typen), #
(Typen ohne Box),, ??
(Boxed- oder normale Typen ohne Box - "am wenigsten Obergrenze von #
und *
"), (#)
(Unboxed -Tupel, die nur in einer kleinen Anzahl von Kontexten verwendet werden können). (Die Standardart *
bezieht sich auf normale Boxtypen.)