Mein Verständnis von Vokabular in Bezug auf Programmierung und Vokabeltyp im Allgemeinen ist etwas, das bestimmten Objekten Eigenschaften mit gut definierter Bedeutung gibt.
Hier sind einige Beispiele in Haskell:
Optional
/Maybe
Typ Betrachten und eine reine Funktion, die HTTP-Antwort eines Web-Servers übernimmt und Code der extrahiert Antwort.
getCode :: String -> Int
Jetzt, als wir diese Funktion wir nicht wissen, laufen nehme an, wenn Antwort erfolgreich war oder nicht - Code überhaupt nicht vorhanden sein könnten. Wie stellen wir den Fall dar, wenn Code fehlt? Wir können einigen künstlichen Wertes -1
oder 0
zuweisen oder wir können ganzen Funktionstyp dies ändern:
getCode :: String -> Maybe Int
Zusätzlich Maybe
bilden ein Monad
, Functor
, Applicative
, Foldable
und ein paar anderen typeclasses in Haskell. Jede Typklasse fügt zusätzliche Fähigkeiten hinzu, um den fraglichen Wert zu manipulieren, während seine Anwesenheit/Abwesenheit respektiert wird.
Product
/Sum
Typ Haskell sind als Paare dargestellt und Either a b
. Wiederum - definiere etwas über Product
oder Sum
fügt eine gut definierte Bedeutung Product a b
- beide Werte müssen vorhanden sein, Sum a b
- ein Wert muss vorhanden sein und fügt eine Reihe von Gesetzen kostenlos hinzu.
Können Sie irgendwelche Links/Zitate für den Begriff "Vokabeltyp" im Kontext geben? Ich habe es vorher noch nie gesehen und bin gespannt, ob es helfen würde, mehr Hintergrund für eine Antwort zu liefern. Dies sind meist [algebraische Datentypen] (https://en.wikipedia.org/wiki/Algebraic_data_type). –
Wie Jon gesagt hat, wo haben Sie Vokabeltyp in Bezug auf diese Begriffe verwendet? Nicht etwas, auf das ich gestoßen bin, selbst nachdem ich eine Internetsuche danach gemacht habe – Dijkgraaf
Zeigen Sie uns die Referenz, aber ich denke, es bedeutet, dass es verschiedene Arten von Vokabularen gibt, die sich auf einen bestimmten Typ beziehen! –