am Haskell Servant package Sehen, gibt es ein erstes Beispiel einen Webservice-API als definieren:Verständnis Haskell Typ Stufe Literale
-- GET /date
type MyAPI = "date" :> Get '[JSON] Date
-- GET /time/:tz
:<|> "time" :> Capture "tz" Timezone :> Get '[JSON] Time
Ich habe Probleme zu verstehen, was das bedeutet und wäre eine Erklärung für den folgenden schätzen:
:>
und:<|>
sind Infix Bauer. Bedeutet diese Typdeklaration, dass sie hier definiert sind oder hier verwendet werden? Oder vielleicht:>
ist hier definiert, aber:<|>
ist anderswo definiert? Oder etwas anderes? Nicht sicher, wie man diesen Typ liest.Was ist
'[JSON]
? Ist das eine literale Liste auf Typenebene? Was macht das Zitat?
Danke. Die GHC-Dokumentation zu Literalen auf Typenebene sagt nichts über Listen aus. Weißt du, wo dies definiert ist? – Ana
@Ana-Versionen aller aktivierbaren Datentypen werden automatisch definiert, wenn die Erweiterung 'DataKinds' verwendet wird. [Siehe hier für Details.] (Https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/promotion.html) –