Come posso creare un tipo con più parametri in OCaml?
-
22-07-2019 - |
Domanda
Sto cercando di creare un tipo con più parametri di tipo. So come creare un tipo con un parametro:
type 'a foo = 'a * int
Ma ho bisogno di avere due parametri, in modo da poter parametrizzare la parte 'int'. Come posso farlo?
Soluzione
Il modo per farlo è:
type ('a, 'b) foo = 'a * 'b
I parametri di tipo non sono curry, quindi è necessario fornirli in forma di tupla come un singolo parametro. Un buon esempio di ciò è il modulo Hashtbl:
type ('a, 'b) t
Il tipo di tabelle hash dal tipo 'a per digitare "b.
Altri suggerimenti
# type ('a,' b) couple = 'a *' b ;;
Ad esempio ...
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow