Gibt es eine Möglichkeit etwas wieFunktion Signatur als Typ in OCaml
type do = ('a -> 'b)
in OCaml zu erklären? Insbesondere eine Funktion Signatur als Typ
Gibt es eine Möglichkeit etwas wieFunktion Signatur als Typ in OCaml
type do = ('a -> 'b)
in OCaml zu erklären? Insbesondere eine Funktion Signatur als Typ
Für freie Typen 'a
und 'b
, 'a -> 'b
ist nicht die Art von jeder gut erzogene OCaml Funktion zu erklären, weil es die Funktion erfordert einen Wert eines beliebigen Typs zu erzeugen.
Also, man kann nicht einen Namen auf einen Typ mit ungebundenen Parameter geben:
# type uabfun = 'a -> 'b
Error: Unbound type parameter 'a
Wenn Sie bestimmte Typen verwenden, gibt es kein Problem, ihm einen Namen:
# type iifun = int -> int;;
type iifun = int -> int
Wenn Typ Typen 'a
und 'b
Parameter sind (und nicht frei ist), gibt es auch kein Problem:
# type ('a, 'b) abfun = 'a -> 'b;;
type ('a, 'b) abfun = 'a -> 'b
Die Antwort von Jeffrey Scofield ist ausgezeichnet. Ich möchte nur eine Referenz für Variant-Typ in OCaml hinzufügen: https://realworldocaml.org/v1/en/html/variants.html –
Was genau fragen Sie? Wie würdest du diesen Typ benutzen? – melpomene