Was ist das Haskell Syntax (type level operators?)

8

Was bedeutet '[] oder ': im Haskell-Code? Einige Beispiele -

Beispiel 1:

> %Vor%

Beispiel 2:

%Vor%     
Anupam Jain 03.08.2015, 12:05
quelle

1 Antwort

9

Im Haskell-Benutzerhandbuch finden Sie Informationen zu Promoted-Listen und Tupel-Listen :

  

Mit -XDataKinds werden Haskells Listen- und Tupeltypen nativ unterstützt   zu Arten, und genießen Sie die gleiche bequeme Syntax auf der Typenebene,   wenngleich mit einem Zitat vorangestellt:

%Vor%      

(Hinweis: Die Deklaration für HCons erfordert auch -XTypeOperators, weil   von Infix-Typ-Operator (: ').) Für Typenlisten von zwei oder mehr   Elemente, wie die Unterschrift von foo2 oben, kann das Zitat sein   entfällt, weil die Bedeutung eindeutig ist. Aber für Listen von einem oder   Null Elemente (wie in foo0 und foo1), das Zitat ist erforderlich, weil   Die Typen [] und [Int] haben in Haskell bereits eine Bedeutung.

Es ist also im Grunde die gleiche Syntax, die einem einfachen Anführungszeichen vorangestellt ist, die aber auf Art-Ebene funktioniert. Einige Spiele verwenden ghci mit dem obigen Code:

%Vor%     
Sibi 03.08.2015, 12:26
quelle